JavaScript에서 Null과 Undefined의 차이점은 무엇입니까?

JavaScript에서 Null과 Undefined의 차이점은 무엇입니까?

이 가이드에서는 없는 그리고 찾으시는 주소가 없습니다 자바스크립트의 값. 이 두 값의 차이점을 아는 것은 버그 없는 코드를 디버깅하고 생성하는 데 중요합니다.





맥북프로 2011 배터리 교체비용

브라우저 콘솔을 사용하여 이 가이드에서 설명하는 코드 샘플을 따르거나 시도해 보십시오.





Null 값과 정의되지 않은 값의 동등성 비교

자바스크립트에서, 없는 객체 값의 의도적인 부재를 나타내는 데 사용되는 원시 값인 반면, 찾으시는 주소가 없습니다 값이 할당되지 않은 변수의 자리 표시자 역할을 하는 기본 값입니다.





없는 그리고 찾으시는 주소가 없습니다 JavaScript 같음 연산자를 사용하여 비교할 때 값은 동일합니다.

등호 연산자( == ) 비교하려면 없는 그리고 찾으시는 주소가 없습니다 값은 JavaScript에서 동일합니다.



브라우저 콘솔을 열고 다음 코드를 입력한 다음 입력하다.

null == undefined

출력은 다음과 같은 반환된 부울 값을 제공해야 합니다. 진실 단순히 두 값이 동일함을 의미합니다.





자세히 알아보기: JavaScript에서 변수를 선언하는 방법

엄격한 평등 비교

JavaScript에는 ID 연산자( === ), 항등 연산자( == )





ID 연산자는 비교되는 값의 기본 유형이 동일한지 확인하여 추가 작업을 수행합니다. 이는 본질적으로 두 값이 동일하더라도 기본 유형이 다른 경우 동일하지 않거나 완전히 동일하지 않을 수 있음을 의미합니다.

완전 동등성을 테스트하려면 아래와 같이 삼중 등호를 사용하십시오.

null === undefined

위 명령의 결과는 다음과 같은 부울 값을 제공합니다. 거짓 , 즉, 두 값이 같아도 동일하지 않습니다.

Null 및 Undefined 유형 찾기

내장 JavaScript 기능 사용 유형() 값의 기본 유형을 찾습니다. 이 함수는 유형을 찾으려는 값의 단일 매개변수를 사용합니다.

관련된: 궁극의 JavaScript 치트 시트

typeof(null)

null 값은 유형입니다. 물체 아래 출력에서 ​​볼 수 있듯이.

유사한 테스트 실행 찾으시는 주소가 없습니다 가치는 당신에게 결과를 줄 것입니다 찾으시는 주소가 없습니다 .

typeof(undefined)

숫자 작업

더 많은 차이점을 알아보려면 다음에서 숫자 테스트를 수행하십시오. 없는 그리고 찾으시는 주소가 없습니다 가치. 값이 숫자이면 숫자 연산을 수행할 수 있음을 의미합니다.

JavaScript에서 값이 숫자인지 테스트하는 두 가지 주요 방법이 있습니다.

1. 사용 isFinite() 함수 - 테스트 중인 값이 숫자인 경우 함수는 다음을 반환합니다. 진실 ; 그렇지 않으면 반환 거짓 .

2. 사용 isNaN() 함수 - 테스트 중인 값이 숫자이면 반환 거짓 ; 그렇지 않으면 반환 진실 .

메모 : isNaN 숫자가 아님'의 줄임말입니다.

일을 단순하게 유지하기 위해 이 가이드에서는 isFinite() 값이 숫자인지 테스트하는 함수이지만 자유롭게 시도하십시오. isNaN() 기능. 이 두 함수 모두 숫자 테스트를 실행하려는 값을 매개변수로 사용합니다.

isFinite(null)

결과는 진실 , 의미 없는 유형의 값입니다. 숫자 자바스크립트에서. 반면에 동일한 테스트를 수행하는 경우 찾으시는 주소가 없습니다 보고 거짓 .

isFinite(undefined)

유형 강제

JavaScript는 느슨한 형식의 언어이므로 수학 연산을 수행할 때 JavaScript는 결과를 원하는 형식으로 자동 변환합니다.

불행히도 일반적으로 형식 강제 변환이라고 하는 이 자동 변환은 많은 놀라움을 가져올 수 있습니다.

에서 다음 수치 연산을 실행합니다. 없는 그리고 찾으시는 주소가 없습니다 브라우저 콘솔에서.

1 + null 3 * null 1 + undefined 3 * undefined;

보시다시피, 몇 가지 숫자 연산을 수행할 수 있습니다. 없는 가치가 없는 숫자이기 때문입니다. 따라서 0으로 처리됩니다. 참고하세요 없는 같지 않다 JavaScript에서는 어떻게 든 그렇게 취급됩니다.

에 대한 수치 연산 찾으시는 주소가 없습니다 값 결과는 다음을 반환합니다. (숫자가 아님) 값입니다. 신중하게 처리하지 않으면 런타임 중에 이 문제가 발생할 수 있습니다.

런타임 버그 방지

의 좋은 이해 없는 그리고 찾으시는 주소가 없습니다 값은 프로덕션 코드에서 런타임 버그를 방지하는 데 중요합니다. 관련 버그 찾으시는 주소가 없습니다 값은 디버그하기 어려울 수 있으므로 피하는 것이 가장 좋습니다.

JavaScript로 컴파일되는 강력한 형식의 코드에 TypeScript를 사용하는 것이 좋습니다. TypeScript에서는 프로덕션 코드의 런타임 버그를 최소화하기 위해 컴파일 타임에 코드를 검사합니다.

공유하다 공유하다 트위터 이메일 관련 항목
  • 프로그램 작성
  • 자바스크립트
  • 코딩 팁
저자 소개 잘 가다(36개 기사 게재)

Mwiza는 직업별로 소프트웨어를 개발하고 Linux 및 프론트 엔드 프로그래밍에 대해 광범위하게 글을 씁니다. 그의 관심사 중 일부는 역사, 경제, 정치 및 엔터프라이즈 아키텍처를 포함합니다.

Mwiza Kumwenda가 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.