코드 유형에는 함수라는 한 가지 형태만 있습니다.
정의되지 않음: 정의되지 않음, 존재하지 않는다고 부를 수도 있음, typeof(undefine)=정의되지 않음
null: 비어 있음. 정의되지 않음은 존재하지 않음을 의미하고, null은 존재하지만 없음을 의미합니다. typeof(null)=객체이지만 null은 객체가 아닙니다. 이것은 null의 마법적이고 독특한 점입니다.
부울: 참 또는 거짓.
Number: NaN과 Infinity는 두 개의 특수 숫자입니다. NaN은 숫자로 표현할 수 없는 숫자를 나타내고, Infinity는 무한한 숫자를 나타냅니다. 여기에는 두 가지 특별한 사항이 있습니다: NaN!=NaN, Infinity/Infinity=NaN. Number 유형에는 매우 유용한 메소드인 ToString()이 있습니다. 이 메소드는 2에서 36까지의 숫자를 허용한 다음 Number를 해당 기본 숫자로 변환할 수 있습니다.
문자열(String). 자바스크립트에는 문자라는 개념이 없습니다. 문자열은 텍스트를 표현하는 가장 작은 단위입니다. 문자열에는 인덱스에 해당하는 문자와 유니코드 인코딩 문자를 각각 반환하는 charAt(index) 및 charCodeAt(index)라는 두 가지 함수가 있습니다. 일상 생활에서 s[10]과 같은 첨자를 사용하여 액세스하는 경우가 많지만 이는 ECMAScript 표준이 아니므로 최대한 피해야 합니다.
모든 유형의 Javascript는 이 5가지 간단한 유형을 기반으로 구축됩니다. 이 다섯 가지 유형 사이에는 셀 수 없이 많은 복잡한 관계가 있습니다. Undefine, null, 0, ""는 불리언으로 변환하면 false이고, 이 네 가지를 제외하면 모두 true입니다. 하지만 이 5개 중에서 undefound==null을 제외하고 나머지는 동일하지 않습니다.
여기에는 123=="123"과 같은 강력한 형식의 언어와 또 다른 비호환성이 있습니다. 그렇다면 유형을 어떻게 구별할 수 있을까요? 현재: ===와 같음이 모두 사용됩니다.