📜  检查 js 中的数据类型 - Javascript (1)

📅  最后修改于: 2023-12-03 15:26:43.381000             🧑  作者: Mango

检查 JS 中的数据类型 - JavaScript

在 JavaScript 中,有多种数据类型,包括数字、字符串、布尔值、对象、数组等。在编写代码时,我们需要检查变量或值的数据类型,以确保它们符合预期的结果。

检查数据类型的方法

JS 中有多种检查数据类型的方法:

1. typeof 操作符

typeof 操作符可以返回一个值的数据类型,包括 "number""string""boolean""undefined""function""object" 等。

例如:

typeof 42; // "number"
typeof "hello world"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object"
typeof function() {}; // "function"
typeof {}; // "object"
typeof []; // "object"

需要注意的是,typeof null 会返回 "object",但实际上 null 是一个基本数据类型。

2. Object.prototype.toString 方法

可以使用 Object.prototype.toString 方法来获取一个值的类型。

例如:

Object.prototype.toString.call(42); // "[object Number]"
Object.prototype.toString.call("hello world"); // "[object String]"
Object.prototype.toString.call(true); // "[object Boolean]"
Object.prototype.toString.call(undefined); // "[object Undefined]"
Object.prototype.toString.call(null); // "[object Null]"
Object.prototype.toString.call(function() {}); // "[object Function]"
Object.prototype.toString.call({}); // "[object Object]"
Object.prototype.toString.call([]); // "[object Array]"

其中,Object.prototype.toString.call 方法会返回一个以 [object Xxx] 的形式表示类型的字符串。例如 [object Number] 表示数值类型。

3. instanceof 操作符

instanceof 操作符可以用来检查一个对象是否是某个构造函数的实例。它可以用来判断一个对象是否为数组等类型。

例如:

var arr = [1, 2, 3];
arr instanceof Array; // true
4. Array.isArray 方法

Array.isArray 方法用来判断一个值是否为数组类型。

例如:

Array.isArray([1, 2, 3]); // true
Array.isArray({}); // false
总结

以上是 JS 中常见的检查数据类型的方法。在编写代码时,根据实际情况选择合适的方法,可以更好地确保代码的正确性。