Проверка типов в JavaScript: руководство по typeof, instanceof и многому другому!

“typeof dart” — это выражение JavaScript, используемое для определения типа переменной или значения. Проще говоря, это помогает вам узнать, с какими данными вы имеете дело. Итак, давайте углубимся в некоторые распространенные методы работы с типами в JavaScript и подготовимся к примерам кода!

Оператор

  1. typeof: оператор typeof возвращает строку, представляющую тип операнда. Это удобно, если вы хотите быстро проверить тип переменной.
const num = 42;
console.log(typeof num); // Output: "number"
const str = "Hello, world!";
console.log(typeof str); // Output: "string"
const bool = true;
console.log(typeof bool); // Output: "boolean"
  1. Оператор экземпляра: оператор экземпляра проверяет, принадлежит ли объект определенному классу или функции-конструктору.
class Person {
  constructor(name) {
    this.name = name;
  }
}
const john = new Person("John");
console.log(john instanceof Person); // Output: true
const num = 42;
console.log(num instanceof Number); // Output: false (number primitive, not object)
  1. Object.prototype.toString(): этот метод возвращает строку, представляющую тип объекта. Это полезно, если вы хотите узнать точный тип объекта.
const arr = [1, 2, 3];
console.log(Object.prototype.toString.call(arr)); // Output: "[object Array]"
const date = new Date();
console.log(Object.prototype.toString.call(date)); // Output: "[object Date]"
  1. Array.isArray(): этот метод проверяет, является ли значение массивом.
const arr = [1, 2, 3];
console.log(Array.isArray(arr)); // Output: true
const str = "Hello, world!";
console.log(Array.isArray(str)); // Output: false
  1. isNaN(): функция isNaN() проверяет, является ли значение NaN (не числом).
console.log(isNaN(42)); // Output: false
console.log(isNaN("Hello")); // Output: true
console.log(isNaN("42")); // Output: false (converted to number before check)
  1. Number.isNaN(): Number.isNaN() – более надежный метод проверки того, является ли значение NaN.
console.log(Number.isNaN(42)); // Output: false
console.log(Number.isNaN("Hello")); // Output: false (not converted to number)
console.log(Number.isNaN(Number("Hello"))); // Output: true

На этом мы закончили! Мы рассмотрели несколько методов в JavaScript для определения типа переменной или значения. Помните, что понимание типов имеет решающее значение для написания надежного кода и предотвращения непредвиденных ошибок.