JavaScript - Оператор typeof

Добро пожаловать,野心勃勃ые программисты! Сегодня мы отправимся в увлекательное путешествие в мир JavaScript, конкретно explored运营商 typeof. Не волнуйтесь, если вы новички в программировании; я проведу вас через это понятие шаг за шагом, как я делал это для countless студентов на протяжении многих лет. Так что возьмите свой любимый напиток, устройтесь поудобнее и погружайтесь в это!

JavaScript - typeof Operator

Оператор 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