>  기사  >  웹 프론트엔드  >  JavaScript_javascript 기술의 null과 정의되지 않은 차이점에 대한 소개 예

JavaScript_javascript 기술의 null과 정의되지 않은 차이점에 대한 소개 예

WBOY
WBOY원래의
2016-05-16 16:36:261103검색

먼저 정의되지 않은 것에 대해 이야기해 보겠습니다.

Javascript의 변수는 약한 유형이므로 변수를 선언할 때 var 키워드만 사용하면 됩니다. C와 같이 강력한 유형의 언어인 경우 변수 선언 시 초기값을 지정하지 않으면 기본값이 부여됩니다. 예를 들어 int 변수의 기본값은 0입니다. 그러나 Javascript와 같은 약한 유형의 언어에서는 이러한 변수에 어떤 기본값을 지정해야 하는지 결정할 방법이 없습니다. 예를 들어

변수를 선언하는 경우입니다.

var v1;

false여야 하나요, 0인가요, 아니면 ''인가요?

종류가 없어 판별할 수 없습니다. Javascript에서는 수명 이후에 초기 값이 제공되지 않는 변수의 경우 정의되지 않은 상태로 지정합니다. 하지만 이 변수는 반드시 선언되어 있어야 한다는 전제가 있습니다. 선언되지 않은 식별자라면 오류가 발생합니다. 아래 코드를 살펴보세요.

vo="vo";//var 키워드를 사용하지 않으면 전역 변수가 생성됩니다. 값을 할당하지 않으면 다음과 같이 오류가 보고됩니다
//v1;//오류를 보고합니다
var v2;//undeifned
var v3="";//null
경고(vo)
//경고(v1);//
경고(v2)
경고(v3);

Null에 대해 이야기해 보겠습니다.

Javscript에는 Number, String, Boolean 및 Object와 같은 몇 가지 기본 유형이 있습니다. Object형 변수의 경우에는 두 가지 상황이 있는데, 하나는 객체의 인스턴스인 경우이고, 다른 하나는 null 참조인 경우입니다. Java 등 객체지향 언어에 익숙한 친구들은 쉽게 이해하다. 두 경우 모두 해당 유형은 Object입니다. 자바스크립트의 변수는 값을 할당할 때만 사용됩니다.
다음과 같은 유형이 결정됩니다.

코드는 다음과 같습니다.

var v1 = 1; 
var v2 = true; 

alert(typeof v1); //number 
alert(typeof v2); //boolean 

v2 = new Date(); 
alert(typeof v2); //object 

v2 = "str"; 
alert(typeof v2); //string 

v2 = null; 
alert(typeof v2); //object

보시다시피 null은 Javascript에서 특별한 객체 유형 값을 나타냅니다. 이는 식별자를 객체 유형으로 선언하고 싶지만 인스턴스를 제공하지 않는 경우 null 참조의 개념을 표현하는 데 사용됩니다. 당분간은 나중에 사용하기 위해 null로 초기화할 수 있습니다.
간단히 말해서, 모든 변수에 대해 선언 후 초기 값이 지정되지 않는 한 정의되지 않은 경우 null 참조 개념을 표현하는 것입니다. null로.

몇 가지 추가 사항은 다음과 같습니다.

null: 값이 없음을 의미합니다.
정의되지 않음: 선언되지 않은 변수, 선언되었지만 값이 할당되지 않은 변수 또는 존재하지 않는 개체 속성을 나타냅니다. == 연산자는 두 가지를 동일하게 취급합니다. 둘을 구별하려면 === 또는 typeof 연산자를 사용하십시오. 두 가지를 모두 포함하려면 if (!object){}를 사용하세요.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.