javascript 에서 null 과 undefined 의 구분 과 비교

3423 단어 nullundefined
javascript 에서 null 과 undefined 의 구분 과 비교
정의 되 지 않 은 유형
Undefined 형식 은 하나의 값,즉 특수 undefined 입 니 다.var 성명 변 수 를 사용 하지만 초기 화 되 지 않 았 을 때 이 변수의 값 은 undefined 입 니 다.
예 를 들 면:

var message;
alert(message == undefined); //true
이 예 는 변수 message 만 설명 하 였 으 나 초기 화 되 지 않 았 습 니 다.이 변 수 는 undefined 글자 의 양 을 비교 한 결과 같은 것 으로 나 타 났 다.이 예 와 아래 의 예 는 등가 이다.

var message = undefined;
alert(message == undefined); //true
이 예 는 undefined 값 디 스 플레이 를 사용 하여 변수 message 를 초기 화 합 니 다.그러나 초기 화 되 지 않 은 값 은 기본적으로 undefined 값 을 얻 을 수 있 기 때문에 우 리 는 이렇게 할 필요 가 없다.
일반적으로 변 수 를 undefined 값 으로 명시 적 으로 설정 할 필요 가 없 는 상황 입 니 다.글자 액면가 undefined 의 주요 목적 은 비교 에 사용 되 는 것 이 고 ECMA-262 3 판 이전 버 전에 서 는 이 값 을 규정 하지 않 았 습 니 다.3 판 에 이 값 을 도입 한 것 은 빈 대상 포인터 와 초기 화 되 지 않 은 변 수 를 정식으로 구분 하기 위해 서 입 니 다.
그러나 undefined 값 을 포함 하 는 변 수 는 정의 되 지 않 은 변수 와 다르다.아래 의 이 예 를 보 세 요.

 var message; //              undefined 
//            
// var age  
alert(message);  // "undefined"
alert(age);  //     
상기 코드 를 실행 하면 첫 번 째 경고 상 자 는 변수 메시지 의 값,즉"undefined"를 표시 합 니 다.두 번 째 경고 상자 인 alert()함수 에 전달 되 는 것 은 설명 되 지 않 은 변수 age 이기 때문에 오류 가 발생 할 수 있 습 니 다.설명 되 지 않 은 변수 에 대해 서 는 type of 연산 자 를 사용 하여 데이터 형식 을 검사 할 수 있 습 니 다.(설명 되 지 않 은 변수 에 대해 delete 를 호출 하 는 것 은 오 류 를 일 으 키 지 않 지만,이렇게 하 는 것 은 실제 적 인 의미 가 없 으 며,엄격 한 모드 에서 오 류 를 일 으 킬 수 있 습 니 다)
그러나 곤 혹 스 러 운 것 은 초기 화 되 지 않 은 변수 에 대해 type of 연산 자 를 실행 하면 undefined 값 을 되 돌려 주 고,설명 되 지 않 은 변수 에 대해 type of 연산 자 를 실행 하 는 것 도 undefined 값 을 되 돌려 줍 니 다.다음 의 예 를 보십시오.

var message; //              undefined 
//             
// var age
alert(typeof message);  // "undefined" 
alert(typeof age);  // "undefined"
결과 에 따 르 면 초기 화 되 지 않 은 변수 와 설명 되 지 않 은 변수 에 대해 type:of 연산 자 를 실행 하면 undefined 값 을 되 돌려 줍 니 다.이 결 과 는 논리 적 합 리 성 이 있다.이 두 변 수 는 기술적 인 측면 에서 볼 때 본질 적 인 차이 가 있 지만 실제로 어떤 변수 에 대해 서도 진정한 조작 을 할 수 없 기 때문이다.
알림:
초기 화 되 지 않 은 변 수 는 undefined 값 이 자동 으로 부여 되 더 라 도 변 수 를 명시 적 으로 초기 화 하 는 것 이 현명 한 선택 입 니 다.이 를 할 수 있다 면 type:of 연산 자가'undefined'값 을 되 돌려 줄 때 검 측 된 변 수 는 초기 화 되 지 않 은 것 이 아니 라 설명 되 지 않 았 음 을 알 수 있 습 니 다.
Null 형식
Null 형식 은 두 번 째 값 이 하나 밖 에 없 는 데이터 형식 입 니 다.이 특수 한 값 은 null 입 니 다.논리 적 으로 볼 때 null 값 은 빈 대상 지침 을 표시 합 니 다.이것 은 바로 type:of 연산 자 를 사용 하여 null 값 을 검사 할 때"object"로 돌아 가 는 이유 입 니 다.아래 의 예 와 같 습 니 다.

 var car = null;
 alert(typeof car);  // "object"
정 의 된 변 수 를 나중에 저장 대상 에 사용 하려 면 이 변 수 를 다른 값 이 아 닌 null 로 초기 화 하 는 것 이 좋 습 니 다.이렇게 되면 null 값 을 직접 검사 하면 해당 변수 가 대상 의 인용 을 저장 하 였 는 지 알 수 있 습 니 다.아래 의 예 와 같 습 니 다.

if (car != null){
//  car        
}
   ,undefined     null  ,  ECMA-262              true:
alert(null == undefined);  //true
여기 서 null 과 undefined 사이 에 있 는 똑 같은 연산 자(==)는 항상 true 로 돌아 갑 니 다.그러나 주의해 야 할 것 은 이 연산 자 는 비교 목적 에서 그 조작 수 를 바 꿉 니 다.비록 null 과 undefined 는 이러한 관계 가 있 지만 그 용 도 는 완전히 다 릅 니 다.앞에서 말 한 바 와 같이 어떤 상황 에서 도 변수의 값 을 undefined 로 명시 할 필요 가 없 지만 같은 규칙 은 null 에 적용 되 지 않 습 니 다.대상 을 저장 하려 는 변수 가 대상 을 제대로 저장 하지 않 았 다 면 이 변 수 를 null 값 으로 명확 하 게 저장 해 야 한 다 는 것 이다.이렇게 하면 null 이 빈 대상 지침 으로 하 는 관례 를 나 타 낼 수 있 을 뿐만 아니 라 null 과 undefined 를 더욱 구분 하 는 데 도 도움 이 된다.
 읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기