JavaScript typeof
- 이전 페이지 JS Map 메서드
- 다음 페이지 JS 타입 변환
JavaScript typeof
JavaScript에서 값을 포함할 수 있는 5가지 다른 데이터 타입이 있습니다:
string
number
boolean
object
function
6가지 유형의 객체가 있습니다:
Object
Date
Array
String
Number
Boolean
또한 값을 포함할 수 없는 2가지 데이터 타입이 있습니다:
null
undefined
typeof 연산자
사용할 수 있습니다 typeof
연산자로 JavaScript 변수의 데이터 타입을 결정할 수 있습니다。
예제
typeof "Bill" // "string"를 반환 typeof 3.14 // "number"를 반환 typeof NaN // "number"를 반환 typeof false // "boolean"를 반환 typeof [1,2,3,4] // "object"를 반환 typeof {name:'Bill', age:19} // "object"를 반환 typeof new Date() // "object"를 반환 typeof function () {} // "function"를 반환 typeof myCar // "undefined"를 반환 * typeof null // "object"를 반환
주의하세요:
- NaN의 데이터 타입은 숫자입니다
- 배열의 데이터 타입은 객체입니다
- 날짜의 데이터 타입은 객체입니다
- null의 데이터 타입은 object입니다
- 정의되지 않은 변수의 데이터 타입은 undefined *
- 할당되지 않은 변수의 데이터 타입도 undefined *
사용할 수 없습니다 typeof
JavaScript 객체가 배열(또는 날짜)인지 확인하기 위해 사용됩니다。
원시 날짜
원시 데이터 값은 추가 속성과 메서드가 없는 단순한 데이터 값을 의미합니다。
typeof
연산자는 다음 중 하나의 원시 데이터 타입을 반환할 수 있습니다:
string
number
boolean
undefined
예제
typeof "Bill" // 반환 "string" typeof 3.14 // 반환 "number" typeof true // 반환 "boolean" typeof false // 반환 "boolean" typeof x // 반환 "undefined" (x에 값이 없을 때)
복잡한 데이터
typeof
연산자는 두 가지 복잡한 타입 중 하나를 반환할 수 있습니다:
function
object
typeof
연산자는 객체와 배열 및 null에 대해 "object"를 반환합니다。
typeof
연산자는 함수에 대해 "object"를 반환하지 않습니다。
예제
typeof {name:'Bill', age:19} // 반환 "object" typeof [1,2,3,4] // 반환 "object"("array"가 아닙니다,아래 예제를 참조하세요) typeof null // 반환 "object" typeof function myFunc(){} // 반환 "function"
typeof
연산자는 배열에 대해 "object"를 반환합니다 "object"
، 왜냐하면 JavaScript에서 배열은 객체이기 때문입니다.
typeof의 데이터 타입
typeof
연산자는 변수가 아닙니다. 그것은 단순히 연산자입니다. 연산자 (+ - * /)는 어떤 데이터 타입도 가지지 않습니다.
하지만,typeof
연산자는 항상문자열을 반환합니다(연산자의 타입을 포함합니다)。
constructor 속성
constructor
속성은 모든 JavaScript 변수의 생성 함수를 반환합니다.
예제
"Bill".constructor // 반환 function String() {[원시 코드]} (3.14).constructor // 반환 function Number() {[원시 코드]} false.constructor // 반환 function Boolean() {[원시 코드]} [1,2,3,4].constructor // 반환 function Array() {[native code]} {name:'Bill',age:19}.constructor // 반환 function Object() {[native code]} new Date().constructor // 반환 function Date() {[native code]} function () {}.constructor // 반환 function Function(){[native code]}
constructor 속성을 확인하여 객체가 배열 객체인지 확인할 수 있습니다. (包含 "Array"
단어):
예제
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
또는 더 간단하게, 객체가 "Date" 객체인지 확인할 수 있습니다.배열 함수:
예제
function isArray(myArray) { return myArray.constructor === Array; }
constructor 속성을 확인하여 객체가 날짜 객체인지 확인할 수 있습니다. (包含 "Date"
단어):
예제
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
또는 더 간단하게, 객체가 "Date" 객체인지 확인할 수 있습니다.날짜 함수:
예제
function isDate(myDate) { return myDate.constructor === Date; }
Undefined
JavaScript에서 값이 없는 변수의 값은 undefined
입니다. 타입도 undefined
。
예제
let car; // 값은 undefined, 타입도 undefined입니다.
그 값을 설정하여 undefined
를 비워서 어떤 변수도 비워질 수 있습니다. 타입도 undefined
。
예제
car = undefined; // 값은 undefined, 타입도 undefined입니다.
비어 있는 값
비어 있는 값과 undefined
무관합니다.
비어 있는 문자열은 유효한 값과 타입을 가집니다.
예제
let car = ""; // 값은 "", 타입은 "string"
Null
JavaScript에서 null
이며, 존재하지 않는 것입니다.
불운히 JavaScript에서는,null
의 데이터 타입은 객체입니다.
그것은 JavaScript의 버그로 생각할 수 있습니다.typeof null
는 객체입니다. 타입은 다음과 같아야 합니다: null
。
객체를 다음과 같이 설정하여: null
객체를 비우는 방법:
예제
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = null; // 지금 값은 null이지만 타입은 여전히 객체입니다
객체를 다음과 같이 설정하여: undefined
객체를 비우는 방법:
예제
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = undefined; // 지금 값과 타입 모두 undefined
undefined과 null의 차이
undefined
그리고 null
값이 같지만 타입이 다른 경우:
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
- 이전 페이지 JS Map 메서드
- 다음 페이지 JS 타입 변환