ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 클래스와 생성자 함수
    Front-end/Javascript 2022. 4. 28. 00:07

    생성자 함수와 this 

    생성자 함수를 정의하고 new 연산자와 함께 호출하면 해당 함수는 생성자 함수로 동작한다.

    생성자 함수 내부의 this는 생성자 함수가 생성할 인스턴스를 가리킨다. 

     

    new 연산자와 함께 생성자 함수를 호출하지 않으면 일반 함수로 동작한다. 

    일반 함수로 호출된 함수의 내부의 this는 전역 객체를 가리킨다. 

     

    클래스

    클래스와 생성자함수는 프로토타입 기반의 인스턴스를 생성하지만 차이점이 존재한다.

    1. 클래스는 new 연산자 없이 호출하면 에러가 발생한다.
    2. 클래스는 extends와 super 키워드를 사용할수 있다. 
    3. 클래스는 호이스팅이 발생하지 않는것처럼 동작하는 반면에 함수 선언문으로 정의된 생성자 함수는 함수 호이스팅이, 함수 표현식으로 정의한 생헝자 함수는 변수 호이스팅이 발생한다.
    4. 클래스 내의 모든 코드에는 strict mode가 지정되며 해제할수 없다. 

     클래스는 단순한 syntactic sugar 보다는 새로운 객체 생성 매커니즘으로 보는것이 더 명확하다.

     

     

     

     

    'Front-end > Javascript' 카테고리의 다른 글

    클래스 (2)  (0) 2022.04.29
    클래스 (1)  (0) 2022.04.28
    화살표 함수  (0) 2021.05.03
    Promise.all([ ])과 Promise.race([ ])  (0) 2021.04.29
    일급 객체(first-class object)  (0) 2021.04.29
Designed by Tistory.