1.使用typeof操作符来判断变量的数据类型
可以判断常见的数据类型:
function getDataType(variable) {
return typeof variable;
}
console.log(getDataType(42)); // 输出: "number"
console.log(getDataType("Hello")); // 输出: "string"
console.log(getDataType(true)); // 输出: "boolean"
console.log(getDataType([])); // 输出: "object"
console.log(getDataType({})); // 输出: "object"
console.log(getDataType(null)); // 输出: "object"
console.log(getDataType(undefined)); // 输出: "undefined"
console.log(getDataType(function() {})); // 输出: "function"
typeof操作符对于数组、对象和null的返回值都是"object"
无法区分对象,数组以及 null,都会返回Object
2.Array.isArray()
是一个用于判断给定值是否为数组的内置方法。它返回一个布尔值,如果给定值是数组,则返回true
;如果给定值不是数组,则返回false
。
console.log(Array.isArray([1, 2, 3])); // 输出: true
console.log(Array.isArray([])); // 输出: true
console.log(Array.isArray({})); // 输出: false
console.log(Array.isArray("hello")); // 输出: false
console.log(Array.isArray(42)); // 输出: false
使用Array.isArray()
是一种可靠的方法来判断一个值是否为数组,它可以帮助你在编程中正确处理数组和非数组的情况。
3.Object.prototype.toString.call()来判断对象和null
console.log(Object.prototype.toString.call({})); // 输出: [object Object]
console.log(Object.prototype.toString.call([])); // 输出: [object Array]
console.log(Object.prototype.toString.call(null)); // 输出: [object Null]
console.log(Object.prototype.toString.call(undefined)); // 输出: [object Undefined]
console.log(Object.prototype.toString.call("hello")); // 输出: [object String]
console.log(Object.prototype.toString.call(42)); // 输出: [object Number]
console.log(Object.prototype.toString.call(true)); // 输出: [object Boolean]
使用Object.prototype.toString.call()
可以帮助我们获取对象的准确类型信息,包括判断对象和null
的类型。它是一种常用且可靠的方法,用于类型判断和处理。