inflearn logo
강의

Course

Instructor

JS Sniper Training School: Targeting Coding Interviews

Inheriting like a class in ES5 < Subtype & Supertype >

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

236

yhehe2284274

1 asked

1

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

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

javascript 코테 준비 같이 해요!

Answer 1

2

Hojun Lee

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

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

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

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

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

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

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

0

yhehe2284274

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

imagesLoaded에 관한 질문

0

3

2

useEffect와 lifecycle문의

0

7

1

프론트엔드 학습 수준 문의

0

25

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

41

2

최근 코테, 과제 테스트 트렌드

0

56

2

lucide react 아이콘 설치

0

35

2

17강 zustand store 서버에서 생성

1

30

1

문의관련 문의

0

37

2

next.js 를 2대이상 실행하는 경우 제공하는 cache 기능들은 어떻게 되나요?

0

47

2

76. 전문성 더하기: 놓치면 아쉬운 관련 기술들 수업 자료가 없어요.

0

41

2

ai 도구 질문

0

30

1

저는 왜 콘솔에서 props가 한 줄만 찍히나요?

0

44

1

렌더링 차단 리소스 javascript 실행에 관련해서 질문 있습니다.

0

44

2

데이터 로딩중 화면만 계속 나와요!!

0

51

2

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

0

247

0

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

1

260

1

이벤트 위임관련...

1

250

1

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

2

274

1

생성자 함수관련...

2

222

1

function과 arrow function 관련

1

287

1

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

1

242

1

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

1

197

1

생성자 내에 함수 선언

2

314

2

apply에서 this 질문입니다

2

182

1