JavaScript 유형, null, 와 정의되지 않음
typeof 연산자
typeof 연산자를 사용하여 변수의 데이터 유형을 감지할 수 있습니다.
typeof의 피연산자는 정의되지 않았으며 반환 값은 "정의되지 않음"입니다.
피연산자는 숫자입니다. typeof(x) = "number"
String typeof(x) = "string"
Boolean 값 typeof(x) = "boolean"
Object, array and null typeof(x) = "object"
Function typeof(x) = "function"
typeof 연산자는 표현식 문자열의 데이터 유형을 나타내는 데 사용되는 문자를 반환합니다.
가능한 문자열은 "숫자", "문자열", "부울", "객체", "함수" 및 "정의되지 않음"입니다.
예:
alert(typeof (123));//typeof(123)는 "숫자"를 반환합니다.
alert(typeof ("123"));//typeof("123")는 "문자열"을 반환합니다
typeof 연산 표현식의 데이터 유형을 나타내는 문자열을 반환합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof "john" + "<br>" + typeof 3.14 + "<br>" + typeof false + "<br>" + typeof [1,2,3,4] + "<br>" + typeof {name:'john', age:34}; </script> </body> </html>
Null
Null 값 유형은 변수나 콘텐츠에 값이 없음을 의미합니다. 예를 들어, 양식 텍스트 입력 상자에 내용이 없을 때 JavaScript를 사용하여 텍스트 입력 상자 요소의 값을 얻으려고 하면 결과는 null입니다.
null 값인지 확인하려면 비교할 내용을 null과 비교하면 됩니다.
if( x == null ) { ... }
웹 시스템 작동 특성을 고려하여 , 많음 이 경우 변수를 삭제하지 않고도 변수에 null 값을 할당하여 변수의 내용을 지울 수 있습니다.
Undefine
변수가 생성된 후 변수에 할당된 값이 없으면 해당 변수는 정의되지 않은 유형입니다. 정의되지 않은 유형은 특정 값이 정의되지 않았으므로 변수 또는 반환 결과가 정의되지 않은 유형인지 확인하려면 정의되지 않은 유형과 비교하면 됩니다.
if( x == undefine ) { ... }
정의되지 않음과 Null의 차이점
정의되지 않은 유형에는 정의되지 않은 값이 하나만 있습니다. 선언된 변수가 초기화되지 않은 경우 변수의 기본값은 정의되지 않습니다.
Null 유형에는 null 값이 하나만 있습니다. Null은 아직 존재하지 않는 개체를 나타내는 데 사용됩니다. 함수가 존재하지 않는 개체를 반환하려고 시도함을 나타내는 데 자주 사용됩니다.
undefine은 변수가 선언되지 않았거나 선언되었지만 값이 할당되지 않았음을 의미합니다(초기화되지 않음). 실제 매개변수가 전달되지 않은 형식 매개변수 변수의 값은 함수가 아무것도 반환하지 않는 경우입니다. 함수 기본값은 정의되지 않음을 반환합니다.
null은 "값 없음"을 의미하는 값입니다.
Javascript는 할당되지 않은 변수의 기본값을 정의되지 않음으로 설정합니다.
Javascript는 변수를 null로 설정하지 않습니다. 이는 프로그래머가 var로 선언된 변수에 값이 없음을 표시하는 데 사용됩니다.
undefine은 유효한 JSON이 아니지만 null은
null 유형입니다. ;
그들은 모두 기본 유형입니다.
그들은 모두 거짓입니다(Boolean(undefine) ->// false, Boolean(null) ->// false);
다음과 같은 변수를 판단할 수 있습니다. 정의되지 않았는지 여부입니다. typeof 변수 === "undefine";
이 방법으로 변수가 null인지 확인할 수 있습니다. 변수 === null;
이중 등호는 비교할 때 동일하지만(null==정의되지 않음 ->// true), 삼중 등호는 비교할 때 동일하지 않습니다(null===undefine->// false)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof undefined + "<br>" + typeof null + "<br>" + (null === undefined) + "<br>" + (null == undefined); </script> </body> </html>