TIL_021_210225

James·2021년 2월 25일
0

TILs

목록 보기
21/40

CommonJS

  • CommonJS란 무엇인가?
    => 브라우저 환경 밖인 Node.js에서 모듈 생태계를 구축하기 위해 만든 규칙들 이라고 말할 수 있다.

  • 모듈 생태계를 만들기 위해 어떤 것들이 필수적으로 요구되는 가?
    => require 함수로 모듈을 불러와서 사용 (ex. require('모듈명' || './js파일'))
    => module.exports 객체를 통해 모듈로써 이용당할 수 있게 설정

  • require 함수의 작동 방식의 특징
    => require.cache 에 이미 불러온 module.exports 객체들의 정보는 저장되어 있어, 동일한 모듈을 재호출 할 시 require.cache에 있는 값을 사용하고 실제 모듈을 실행시키지 않는다. 즉, 한번 require로 사용해본 모듈은 처음에만 실행되고 재호출 시에는 실행되지 않는다.

유사배열

  • 유사배열이란?
    => 양끝에 [] 대괄호가 씌어져 있어 배열과 형태가 같지만, Array.isArray로 타입을 검사해보면 배열이 아니고 이에 따라 배열메소드를 사용할 수 없는 객체이다.

  • 유사배열이지만 forEach나 map같은 배열메소드를 사용하려면?
    => Array.prototype과 call이나 apply 메소드를 사용하면 가능하다.
    => Array.prototype은 [] 로 사용할 수도 있다.
    => [].map.call(유사배열, function)

this 객체를 사용하는 3가지 유형

  • 메소드를 호출 할 때
    => this = 메소드를 호출한 부모
  • 클래스 생성자를 호출 할 때
    => this = 인스턴스
  • call, apply 메소드를 호출 할 때
    => this = call이나 apply메소드의 첫 번째 인자

call, apply와 bind 메소드의 차이

  • call, apply는 메소드를 실행한 값을 리턴하지만 bind는 함수 자체를 리턴한다.
  • bind 메소드는 인자가 있는 이벤트핸들러를 사용할 때 종종 사용한다.

! 점점 배울 게 많다는 게 느껴진다. 다행히 재미있다.

profile
웹개발자 James 입니다.

0개의 댓글