JavaScript_javascript 기술의 '기본 유형'에 대한 논쟁 요약

WBOY
풀어 주다: 2016-05-16 17:44:32
원래의
959명이 탐색했습니다.

프런트엔드 인터뷰에서 자주 묻는 질문 중 하나는 "자바스크립트의 기본 유형은 몇 가지입니까?"입니다.

일부 답변은 "숫자, 문자열, 부울"이고 일부 답변은 "Null, 정의되지 않음"을 추가할 수 있습니다. 그리고 어떤 사람들은 "객체"도 기본 유형이라고 생각할 수도 있습니다. 어떤가요?

ECMAScript(V3, V5)에는 소위 "기본 유형"이라는 개념이 전혀 존재하지 않습니다. 단지 유형을 6가지 유형으로 나눌 뿐입니다.

ECMAScript는 유형으로 표시되는 유형만 언급합니다. V3 및 V5에서는 전체 문서에서 "원시"라는 키워드를 검색하면 "원시 유형"이 표시되지 않지만 true/false/와 같은 "원시 값"은 존재합니다. 0-9 등 이는 사양에 소위 "기본 유형"과 "기본 유형"이 전혀 없음을 보여줍니다. 존재한다고 말해야 한다면 객체는 분명히 동일합니다. 즉, 6가지 기본 유형이 있습니다.

"JavaScript 고급 프로그래밍" 초판, 제2판, 제3판 등 일부 책에서는 이 개념을 자주 사용합니다.

초판에서는 Undefine, Null, Boolean, Number, String의 5가지 기본 유형이 있다고 언급했습니다

제2판과 제3판은 단순 데이터 유형을 내놓았는데, 이는 단순 데이터 유형(기본 데이터 유형이라고도 함)으로 번역되며, 객체를 복합 데이터 유형이라고 합니다.

프리미티브 유형은 또 다른 고전 책 "JavaScript에 대한 확실한 가이드(6판)"의 3장에서도 언급됩니다.

먼저 기본형(Primitive Type)과 객체형(Object Type)으로 구분됩니다. 기본형은 숫자, 문자열, 부울(Boolean), 특수한 Null과 UnDefined 두 가지로 구분됩니다.

5년 전에는 자바스크립트에 관한 책이 거의 없었습니다. 그 중 이 두 권이 큰 영향을 미쳤으며 고전이라고 할 수 있습니다. 따라서 이로 인해 영향을 받는 JSer가 많이 있습니다. 언어 유형을 기본 유형(메타 유형)과 객체 유형(복잡 유형)으로 구분하는 것도 저자의 학습 논리와 일치한다고 생각합니다. 또한 자바 등 다른 언어의 영향도 받아 기본형(8종)과 객체형으로 구분하기도 한다.

그러나 ECMAScript에는 클래스 개념이 없는 것처럼 소위 기본 유형이 없습니다(다른 언어 능력을 가진 사람들은 여전히 ​​JavaScript에서 "클래스"라는 명사를 사용하기를 좋아합니다). 거기에 언급된 것은 타입(type)인데, 기본 타입이라고 이해하면 되지만 6가지 타입이 있어야 한다. 여기서 기본 유형은 복잡한 데이터 유형(객체)을 포함하므로 Java의 기본 유형도 아닙니다.

모든 책에서 JavaScript에는 기본 유형이 5가지(객체 제외)만 있다고 믿는 것은 아닙니다. "JavaScript 언어 및 프로그래밍 실습의 본질"에서는 다음과 같이 6가지 유형이 있다고 믿습니다.

null을 포함하지 않고 함수형을 추가합니다. 아, 온갖 종류의 이상한 대답이 있습니다. 다음에 누군가가 당신에게 묻는다면 이 질문에 어떻게 답해야 할까요?

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿