Какой тип данных возвращает typeof
1️⃣ Как кратко ответить
typeof возвращает строку, описывающую тип переданного значения. Возможные значения: "undefined", "object", "boolean", "number", "string", "function", "symbol", "bigint".
2️⃣ Подробное объяснение темы
typeof — это оператор в JavaScript, который используется для определения типа данных переменной или значения. Он возвращает строку, которая описывает тип переданного значения. Это полезно для проверки типов данных в коде, особенно в динамически типизированных языках, таких как JavaScript.
Возможные возвращаемые значения
-
"undefined": Возвращается, если переменная была объявлена, но ей не было присвоено значение.
let a; console.log(typeof a); // "undefined"Здесь переменная
aобъявлена, но не инициализирована, поэтомуtypeof aвозвращает "undefined". -
"object": Возвращается для объектов, массивов и
null.let obj = {}; console.log(typeof obj); // "object" let arr = []; console.log(typeof arr); // "object" let n = null; console.log(typeof n); // "object"Обратите внимание, что
typeof nullвозвращает "object", что является исторической особенностью JavaScript. -
"boolean": Возвращается для булевых значений
trueиfalse.let isTrue = true; console.log(typeof isTrue); // "boolean"Здесь
isTrue— это булевая переменная, поэтомуtypeof isTrueвозвращает "boolean". -
"number": Возвращается для чисел, включая
NaNиInfinity.let num = 42; console.log(typeof num); // "number" let notANumber = NaN; console.log(typeof notANumber); // "number"NaNиInfinityтакже считаются числами в JavaScript. -
"string": Возвращается для строковых значений.
let str = "Hello, world!"; console.log(typeof str); // "string"Здесь
str— это строка, поэтомуtypeof strвозвращает "string". -
"function": Возвращается для функций.
function myFunction() {} console.log(typeof myFunction); // "function"Функции в JavaScript имеют свой собственный тип "function".
-
"symbol": Возвращается для символов, введенных в ECMAScript 6.
let sym = Symbol(); console.log(typeof sym); // "symbol"Символы — это уникальные и неизменяемые примитивные значения, используемые как уникальные идентификаторы.
-
"bigint": Возвращается для больших целых чисел, введенных в ECMAScript 2020.
let bigInt = 1234567890123456789012345678901234567890n; console.log(typeof bigInt); // "bigint"BigIntпозволяет работать с числами, превышающими пределы обычного типаnumber.
Применение
Оператор typeof часто используется для проверки типов данных перед выполнением операций, которые зависят от типа. Это помогает избежать ошибок, связанных с неправильным использованием типов данных.
Пример использования
function processValue(value) {
if (typeof value === "number") {
return value * 2;
} else if (typeof value === "string") {
return value.toUpperCase();
} else {
return "Unsupported type";
}
}
console.log(processValue(10)); // 20
console.log(processValue("hello")); // "HELLO"
console.log(processValue(true)); // "Unsupported type"
В этом примере функция processValue обрабатывает входное значение в зависимости от его типа. Если это число, оно удваивается. Если это строка, она преобразуется в верхний регистр. Для всех других типов возвращается сообщение об ошибке.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться