이전 단어
일반적인 프로그래밍 언어에서는 Null만이 빈 것을 의미하지만 JavaScript 디자이너 Brendan Eich는 정의되지 않은 것을 설계하여 프로그램의 복잡성을 증가 시키지만 그렇게해야 할 특정 이유가 있습니다. 이 기사는 javaScript의 정의 및 null을 자세히 소개합니다.
1995 년 Java와 같이 JavaScript가 태어 났을 때의 역사적 이유는 Null만이 "없음"을 나타내는 값으로 설정되었습니다. C 언어의 전통에 따르면 Null은 자동으로 0으로 전환하도록 설계되었습니다.
그러나 JavaScript 디자이너 Brendan Eich는 이것이 두 가지 이유로 충분하지 않다고 생각합니다. 첫째, Null은 Java와 같은 물체로 취급됩니다. 그러나 JavaScript 값은 원시 유형과 객체 유형의 두 가지 범주로 나뉩니다. Brendan Eich는 "없음"을 의미하는 값이 대상이 가장 좋다고 생각합니다. 둘째, JavaScript의 초기 버전에는 오류 처리 메커니즘이 포함되지 않았습니다. 데이터 유형 불일치가 발생하면 종종 자동으로 유형을 변환하거나 조용히 실패합니다. Brendan Eich는 NULL이 자동으로 0으로 전환하면 오류를 찾기가 어렵다고 생각합니다.
따라서 Brendan Eich는 다른 정의되지 않은 것을 설계했습니다. Null은 "None"을 나타내는 객체이며, 숫자 값으로 변환 될 때 0입니다. undefined는 "none"을 나타내는 원래 값이며, 숫자 값으로 변환 될 때 NAN입니다.
그러나 현재 Null과 정의되지 않은 것은 기본적으로 동의어이며 둘 다 원시 유형이며 약간의 차이 만 있습니다.
undefinedUndUndEred 유형은 정의되지 않은 값이 하나뿐입니다. 선언 된 변수가 초기화되지 않으면 변수의 기본값이 정의되지 않습니다. 따라서 일반적으로 정의되지 않은 것은 변수가 초기화되지 않았 음을 의미합니다.
var test; // undefinedconsole.log (test == undefined); // truevar test = undefined; // undefined
선언되지 않은 변수의 경우 연산자 유형을 사용하여 데이터 유형을 감지하여 하나의 작업 만 수행 할 수 있지만 엄격한 모드에서 오류가 발생합니다.
typeof (test); // 정의되지 않았습니다
【장면 모양 ance
【1 v 값이없는 변수가 선언되었습니다
【2 the 객체에 존재하지 않는 속성을 얻습니다.
RETURN 값이없는 함수의 실행 결과
【4 function 함수 매개 변수가 전달되지 않습니다
【5 oid void (표현)
var i; console.log (i); // undefinedvar o = {}; console.log (op); // undefinedFunction f () {}; console.log (f ()); // undefinedFunction f (x) {return x;} console.log (f ()); undefined (0));【유형 변환 ion
부울 (정의되지 않은) : FalsEnumber (정의되지 않은) : Nanstring (정의되지 않은) : 'undefined'
널
NULL 유형의 경우 값은 단 하나뿐입니다. NULL은 JavaScript 언어의 키워드입니다. 그것은 특별한 값을 나타내며 종종 "널 값"을 설명하는 데 사용됩니다.
논리적으로 널 값은 빈 객체 포인터를 나타냅니다
[참고] Null은 빈 객체 포인터이고 []는 빈 배열이고 {}는 빈 객체이고 세 가지는 다릅니다.
Console.log (null 타입); // 'Object'
null과 정의되지 않은 것이 다르지만 둘 다 "값의 빈"을 나타내고, Null은 "null value"를 나타내고, 정의되지 않은 "정의되지 않은"을 나타냅니다. 두 사람은 종종 상호 교환 가능합니다. 평등 연산자 판사 == 두 사람이 동일하다고 생각합니다.
console.log (null == undefined); // true
실제로, 정의되지 않은 및 null은 생성자 유형이 아니기 때문에 속성과 방법이 없습니다. 사용. [] 두 값의 멤버 또는 메소드에 액세스하면 유형 오류가 발생합니다.
【유형 변환 ion
부울 (null) : Falsenumber (null) : 0string (null) : 'null'
JavaScript 유형 시스템 - 정의 및 NULL에 대한 위의 기사는 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.