JavaScript에는 기본적으로 'I do n't exist' undefined와 null.
프로그래머가 아무것도 할 것이다 할당되지 않은에 속성 undefined이 될 수있는 속성에 대해,하지만 순서는 null, null명시 적으로 할당해야합니다.
나는 한때 원시적 가치와 객체 null이기 때문에 필요가 있다고 생각했습니다 . 양보 하지 않습니다 . 사실 둘 다 원시 값입니다. 즉 , 둘 다 빈 객체로 변환되므로 생성자 함수에서 반환 할 수도 없고 반환 할 수도 없습니다 (생성자에서 실패를 선언하려면 오류를 발생시켜야합니다).undefinednulltypeof null'object'undefinednull
또한 둘 다 false부울 컨텍스트에서 평가 됩니다. 내가 생각할 수있는 유일한 차이점은 하나는으로 평가되고 NaN다른 하나 0는 숫자 컨텍스트에서 평가된다는 것입니다 .
그렇다면 왜 둘 다 undefined있고 null이것이 null속성이 설정되었는지 여부를 찾으려고 할 때 잘못 확인하는 프로그래머를 혼란스럽게한다면 ?
내가 알고 싶은 것은 누군가 대신 null사용하여 표현할 수없는 사용 이 필요한 합리적인 예가 있는지 여부 undefined입니다.
그래서 일반적인 합의는 undefined'그런 재산이 없다 null'는 의미 이고 '재산이 존재하지만 가치 가 없다'는 의미 인 것 같습니다 .
자바 스크립트 구현이 실제로이 동작을 강제 할 수 있다면 그와 함께 살 수 있습니다. 그러나 undefined완벽하게 유효한 기본 값이므로 기존 속성에 쉽게 할당하여이 계약을 위반할 수 있습니다. 따라서 속성이 있는지 확인하려면 in연산자 를 사용해야 hasOwnProperty()합니다. 다시 한 번 : undefined및에 대한 별도의 값에 대한 실제 사용은 null무엇입니까?
undefined더 이상 사용하지 않지만 원하지 않는 속성 값을 설정 해제하고 싶을 때 실제로 사용 합니다 delete. null대신 사용해야합니까 ?
In JavaScript, there are two values which basically say 'I don't exist' - undefined and null.아니, undefined그게 다야.
undefined.