📅  最后修改于: 2023-12-03 15:02:24.620000             🧑  作者: Mango
JavaScript 是一种弱类型语言,它不需要变量在声明时指定类型。而是动态地在运行时确定变量的类型。因为这一特性,我们需要经常检查变量的类型,以确保它们适合我们需要的目的。
JavaScript 中有 7 种主要的数据类型:
我们可以使用 typeof 运算符来检查给定值或变量的数据类型。typeof 运算符将返回一个字符串,指明值的数据类型。
typeof 42; // "number"
typeof "hello"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object"
typeof {}; // "object"
需要注意的是,typeof 运算符对于引用类型会返回 "object",因为对象是引用类型的基础。
我们可以使用 instanceof 运算符来检查一个对象是否属于特定的类。instanceof 会检查对象的原型链,如果对象是特定类的实例,则返回 true,否则返回 false。
var today = new Date();
today instanceof Date; // true
today instanceof Object; // true
today instanceof Array; // false
每个 JavaScript 对象都有一个 constructor 属性,指向用于创建该对象的函数。我们可以使用 constructor 属性检查对象的类型。
(42).constructor; // Number
"hello".constructor; // String
true.constructor; // Boolean
undefined.constructor; // undefined
null; // Uncaught TypeError: Cannot read property 'constructor' of null
[].constructor; // Array
({}).constructor; // Object
需要注意的是,由于 null 不是对象,访问它的 constructor 属性将会抛出 TypeError 异常。
在 JavaScript 中,我们可以使用 typeof 运算符、instanceof 运算符和 constructor 属性来检查数据的类型。了解这些方法可以帮助我们编写更加健壮和可靠的代码。