typeoftypeof 함수 설명
typeoftypeof
함수는 주어진 변수의 데이터 타입을 문자열로 반환합니다. 반환 가능한 값은 아래 표에 나와 있습니다.
반환 값 | 설명 |
---|---|
"number" | 변수는 실수(부동 소수점) 숫자를 포함합니다 - NaN 및 무한대 포함 |
"string" | 변수는 문자열을 포함합니다 |
"array" | 변수는 배열을 참조합니다 |
"bool" | 변수는 불리언(true/false)을 포함합니다 |
"int32" | 변수는 32비트 정수를 포함합니다. 이 타입은 HTML5에서 지원되지 않습니다. |
"int64" | 변수는 64비트 정수를 포함합니다 |
"ptr" | 변수는 포인터를 포함합니다 |
"undefined" | 변수는 정의되지 않았습니다 |
"null" | 변수는 null 값을 포함합니다 (정상적으로는 보이지 않아야 합니다) |
"method" | 변수는 함수 참조를 포함합니다 |
"struct" | 변수는 구조체 참조를 포함합니다 |
"ref" | 변수는 핸들 참조를 포함합니다 |
"unknown" | 값이 알려지지 않았습니다. 이는 메모리 덮어쓰기와 같은 기본적인 수준에서 문제가 발생했음을 나타냅니다. |
이 함수는 메서드에 대해 올바른 값을 반환하지 않을 수 있는 경우가 있습니다. 다음은 두 개의 함수 정의를 보여줍니다:
a = function() {
// something
}
function b() {
// Something
}
기술적으로, 두 함수 모두 메서드로 간주되지만, typeof
를 function b
에 호출하면 "ref"를 반환하고, a
에 호출하면 "method"를 반환합니다. 이는 b
가 스크립트 참조(핸들)에 할당된 메서드이기 때문이며, 컴파일러가 스크립트 함수를 인식하는 방식입니다.
문법
typeof(variable);
인수
인수 | 타입 | 설명 |
---|---|---|
variable | Any | 데이터 타입을 가져올 변수 |
반환 값
반환 값 | 타입 | 설명 |
---|---|---|
String | String | 위의 표 참조 |
예제
var _str = typeof(global.ExtensionInput);
show_debug_message("global.ExtensionInput is a " + _str);
위 코드는 주어진 전역 변수의 데이터 타입을 가져와서 문자열을 로컬 변수에 저장한 후, 이를 사용하여 콘솔에 메시지를 출력합니다.
활용 예제
- 변수의 타입 확인하기
var myVar = 42;
var typeOfMyVar = typeof(myVar);
show_debug_message("myVar is a " + typeOfMyVar);
- 배열의 타입 확인하기
var myArray = [1, 2, 3];
var typeOfMyArray = typeof(myArray);
show_debug_message("myArray is a " + typeOfMyArray);
- 함수의 타입 확인하기
var myFunction = function() {
return "Hello, World!";
};
var typeOfMyFunction = typeof(myFunction);
show_debug_message("myFunction is a " + typeOfMyFunction);
- null 값의 타입 확인하기
var myNull = null;
var typeOfMyNull = typeof(myNull);
show_debug_message("myNull is a " + typeOfMyNull);
- 정의되지 않은 변수의 타입 확인하기
var myUndefined;
var typeOfMyUndefined = typeof(myUndefined);
show_debug_message("myUndefined is a " + typeOfMyUndefined);