inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코딩인터뷰를 저격하는 JS 스나이퍼 양성학교

es5로 클래스처럼 상속하기 < 서브 타입 & 슈퍼 타입 >

생성자 함수와 클래스 중 어느 것을 사용하는게 효율적인가요?

251

윤해은

작성한 질문수 1

1

면접에서 클래스와 생성자 함수의 차이를 물어보시는 이유가 궁금합니다.

생성자함수와 클래스의 차이점은 문법 차이 말고는 다를게 없는것인가요??

javascript 코테 준비 같이 해요!

답변 1

2

Hojun Lee

안녕하세요 해은님 답변드리겠습니다!

넵 생성자 함수와 클래스의 차이는 문법의 차이가 가장 크다고 할 수 있습니다.

즉, 생성자 함수를 통해 객체를 생성하는 방법(사용자 정의 타입 선언)의 문법 설탕(syntactical sugar)이 바로 class 선언입니다.

하지만 분명 차이점도 존재하는데요, 대표적으로 함수 선언과 달리 class 선언은 호이스팅 되지 않으며,

class 선언 내의 모든 코드는 엄격 모드(strict mode) 에서 작동한다는 것 등 입니다.

좀 더 구체적으로 확인하고 싶으시다면 babel 트렌스파일러(https://babeljs.io/)를 이용해 class 문법이 es5에서 어떻게 바뀌는지 살펴보실 수 있습니다.
아래 그림은 바벨을 이용해 문법을 es6 에서 es5로 변경시킨것입니다. 참고하시기 바랍니다.

좋은 질문 감사합니다!! :)

0

윤해은

설명 감사합니다 강사님 ! 👍🏻

안녕하세요 한번 더 문의드립니다.

0

19

1

81강 실습 자료 없음

0

16

2

선생님 공유해주신 핸드북에 링크가 몇개 잘못되었어요

0

27

2

62강 실습자료가 잘못되었습니다.

0

23

1

코드 자료는 없는걸까요?

0

53

3

강의 목표

0

34

1

강의 노트 위주로 학습

0

39

1

쿠키 생성 관련

0

66

3

JWT auth error invalid token

0

62

2

경력기술서는 어떤 방향이 좋을까요?

0

52

2

MSA 와 BFF 아키텍처 설명 부분에 대한 문의

0

52

1

eslint.config.js 설정 질문입니다.

0

64

2

7강 흐름 제어 아키택쳐 코드 순서

1

53

1

수업자료 어디서 찾아볼 수 있나요?

0

47

2

prototype.constructor 를 꼭 설정해주어야 하는 이유가 뭔가요?

0

258

0

클로저 파트 마지막 예시에 관해 질문있습니다.

1

277

1

이벤트 위임관련...

1

265

1

let, const에서의 호이스팅에 대해서...

2

288

1

생성자 함수관련...

2

238

1

function과 arrow function 관련

1

293

1

객체 공장장, <생성자> 편에 잘못된 내용이 있는것 같습니당

1

258

1

동영상강의에서 사용했던 코드 공유 부탁드립니다.

1

206

1

생성자 내에 함수 선언

2

335

2

apply에서 this 질문입니다

2

198

1