// 判断变量类型的几种常见方法
// 1. 使用 typeof 操作符
// typeof 可以返回以下几种基本类型:'number', 'string', 'boolean', 'object', 'function', 'symbol', 'undefined'
let num = 42;
console.log(typeof num); // "number"
let str = "hello";
console.log(typeof str); // "string"
let bool = true;
console.log(typeof bool); // "boolean"
let obj = {};
console.log(typeof obj); // "object"
let func = function() {};
console.log(typeof func); // "function"
let und = undefined;
console.log(typeof und); // "undefined"
let sym = Symbol("foo");
console.log(typeof sym); // "symbol"
// 注意:typeof null 返回 "object",这是一个历史遗留问题
let nul = null;
console.log(typeof nul); // "object"
// 2. 使用 instanceof 操作符
// instanceof 用于检查对象是否是某个构造函数的实例
let arr = [];
console.log(arr instanceof Array); // true
let date = new Date();
console.log(date instanceof Date); // true
// 3. 使用 Object.prototype.toString.call()
// 这种方法可以更准确地判断复杂类型
console.log(Object.prototype.toString.call(num)); // "[object Number]"
console.log(Object.prototype.toString.call(str)); // "[object String]"
console.log(Object.prototype.toString.call(bool)); // "[object Boolean]"
console.log(Object.prototype.toString.call(obj)); // "[object Object]"
console.log(Object.prototype.toString.call(func)); // "[object Function]"
console.log(Object.prototype.toString.call(und)); // "[object Undefined]"
console.log(Object.prototype.toString.call(sym)); // "[object Symbol]"
console.log(Object.prototype.toString.call(nul)); // "[object Null]"
console.log(Object.prototype.toString.call(arr)); // "[object Array]"
console.log(Object.prototype.toString.call(date)); // "[object Date]"
这段代码展示了如何使用 typeof
、instanceof
和 Object.prototype.toString.call()
来判断 JavaScript 中变量的类型。每种方法都有其适用场景和特点。
上一篇:js 判断{}
下一篇:js 是否包含
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站