JavaScript - Оператор typeof
Добро пожаловать,野心勃勃ые программисты! Сегодня мы отправимся в увлекательное путешествие в мир JavaScript, конкретно explored运营商 typeof
. Не волнуйтесь, если вы новички в программировании; я проведу вас через это понятие шаг за шагом, как я делал это для countless студентов на протяжении многих лет. Так что возьмите свой любимый напиток, устройтесь поудобнее и погружайтесь в это!
Оператор typeof
Представьте, что вы детектив в мире JavaScript, и ваша задача - определить тип различных фрагментов данных. Именно это и делает оператор typeof
! Это как увеличительное стекло, которое помогает нам определить тип значения или выражения в JavaScript.
Синтаксис
Использование оператора typeof
так же просто, как есть пирог (и кто не любит пироги?). Вот как это делается:
typeof operand
// или
typeof(operand)
Оба варианта работают одинаково, так что выбирайте тот, который вам больше нравится. Лично я предпочитаю первый, потому что его меньше набирать, и давайте быть честными, программисты всегда стремятся к эффективности!
Типы данных, возвращаемые оператором typeof
Теперь давайте посмотрим на различные типы, которые может определить typeof
. Это как меню вкусов данных в JavaScript:
Тип данных | typeof Возвращает |
---|---|
Number | "number" |
String | "string" |
Boolean | "boolean" |
Symbol | "symbol" |
Undefined | "undefined" |
Null | "object" |
Object | "object" |
Function | "function" |
BigInt | "bigint" |
Не волнуйтесь, если некоторые из них кажутся вам незнакомыми. Мы рассмотрим каждый из них с примерами, которые заставят вас сказать "Ага!"
Оператор typeof для проверки типа Number
Давайте начнем с чисел. В JavaScript числа resemblebuilding blocks of math operations.
console.log(typeof 42); // "number"
console.log(typeof 3.14); // "number"
console.log(typeof -10); // "number"
console.log(typeof Infinity); // "number"
console.log(typeof NaN); // "number"
Удивительно! Даже Infinity
и NaN
(Not-a-Number) считаются числами в JavaScript. Это как называть хот-дог сэндвичем - немного неожиданно, но таков стиль JavaScript!
Оператор typeof для проверки типа String
Строки resemblegift wrappers of data - они содержат текстовое содержимое.
console.log(typeof "Hello, World!"); // "string"
console.log(typeof '42'); // "string"
console.log(typeof ``); // "string"
Обратите внимание, как '42' в кавычках является строкой, а не числом. Это как надеть на число"text costume"!
Оператор typeof для проверки типа Boolean
Булевы значения resembleyes/no, true/false of programming. Они как выключатели - или включены, или выключены.
console.log(typeof true); // "boolean"
console.log(typeof false); // "boolean"
console.log(typeof (1 > 2)); // "boolean"
Последний пример показывает, что сравнения result in booleans. Это как спрашивать: "Is 1 greater than 2?" и получать прямой ответ "Нет!" (ложь).
Оператор typeof для проверки типа Symbol
Символы resembleunique identifiers, как бирки на вечеринке, где у каждого разное имя.
console.log(typeof Symbol('unique')); // "symbol"
Не беспокойтесь слишком много о символах пока. Они resemblecool kids of ES6, но мы не видим их на каждой JavaScript-вечеринке.
Оператор typeof для проверки типов Undefined и Null
Здесь事情变得有点复杂, как фокусы в мире программирования.
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object"
Подождите, что? null
это объект? Это на самом деле давний баг в JavaScript, но он уже так давно существует, что его исправление может сломать существующий код. Это как качающийся столик в вашем любимом кафе - раздражает, но его замена может разозлить постоянных клиентов.
Оператор typeof для проверки типа Object
Объекты resemblecontainers, которые могут содержать различные свойства и методы.
console.log(typeof {}); // "object"
console.log(typeof []); // "object"
console.log(typeof new Date()); // "object"
Да, массивы также являются объектами! Это как сказать, что список покупок resemblesa type of document - технически правильно, даже если это кажется немного странным.
Оператор typeof для проверки типа Function
Функции resemblethe verbs of programming - они делают вещи!
console.log(typeof function() {}); // "function"
console.log(typeof console.log); // "function"
Функции имеют свой собственный особый тип. Это способ JavaScript сказать: "You're special, functions. You get your own category!"
Оператор typeof для проверки типа BigInt
BigInt resemblethe new kid on the block, введенный для обработки真的很 больших чисел.
console.log(typeof 1n); // "bigint"
console.log(typeof BigInt(1)); // "bigint"
Думайте о BigInt как о тяжелом чемпионе чисел - когда обычные числа просто не suffice!
Оператор typeof в реальном развитии
В реальном программировании typeof
часто используется для проверки типов перед операциями. Это как проверить, есть ли у вас правильные ингредиенты перед началом готовки.
function safeAdd(a, b) {
if (typeof a === "number" && typeof b === "number") {
return a + b;
} else {
return "Error: Both arguments must be numbers";
}
}
console.log(safeAdd(5, 10)); // 15
console.log(safeAdd("5", 10)); // "Error: Both arguments must be numbers"
Эта функция проверяет, являются ли оба аргумента числами, перед их сложением. Это какouncer at a "Numbers Only" club!
JavaScript Arrays и оператор typeof
Вот moment - remember как массивы являются объектами? Давайте посмотрим это в действии:
console.log(typeof [1, 2, 3]); // "object"
Так как же мы проверяем массивы? Мы используем special method:
console.log(Array.isArray([1, 2, 3])); // true
console.log(Array.isArray({a: 1})); // false
Это как having a special detector for array-shaped objects!
И вот оно,folks! Мы отправились в путешествие по земле typeof
в JavaScript. Помните, что практика делает perfect, так что играйте с этими примерами. Before you know it, вы будете проверять типы как профи! Happy coding, и пусть ваши переменные всегда будут того типа, который вы ожидаете их быть!
Credits: Image by storyset