在前端开发中,我们经常需要判断一个变量的类型,从而做出相应的处理。而在 ECMAScript 2019 中,Object.prototype.toString.call() 方法的灵活使用方法可以帮助我们更加方便地进行类型判断。
Object.prototype.toString.call() 方法的基本用法
Object.prototype.toString.call() 方法是 JavaScript 中一个常用的方法,用于获取一个变量的类型。该方法的基本用法如下:
Object.prototype.toString.call(variable)
其中,variable 表示要判断类型的变量。该方法会返回一个字符串,表示变量的类型。例如:
// javascriptcn.com 代码示例 var a = 123; var b = 'hello'; var c = [1, 2, 3]; var d = {name: 'Tom', age: 18}; console.log(Object.prototype.toString.call(a)); // [object Number] console.log(Object.prototype.toString.call(b)); // [object String] console.log(Object.prototype.toString.call(c)); // [object Array] console.log(Object.prototype.toString.call(d)); // [object Object]
可以看到,Object.prototype.toString.call() 方法返回的字符串是以 "[object 类型]" 的形式表示的。
Object.prototype.toString.call() 方法的灵活使用方法
除了基本用法之外,Object.prototype.toString.call() 方法还有一些灵活的使用方法,可以更加方便地进行类型判断。
判断基本类型
在 JavaScript 中,有 6 种基本类型,分别为:Undefined、Null、Boolean、Number、String 和 Symbol。我们可以使用 Object.prototype.toString.call() 方法来判断一个变量是否属于这些基本类型。例如:
// javascriptcn.com 代码示例 var a = undefined; var b = null; var c = true; var d = 123; var e = 'hello'; var f = Symbol('foo'); console.log(Object.prototype.toString.call(a)); // [object Undefined] console.log(Object.prototype.toString.call(b)); // [object Null] console.log(Object.prototype.toString.call(c)); // [object Boolean] console.log(Object.prototype.toString.call(d)); // [object Number] console.log(Object.prototype.toString.call(e)); // [object String] console.log(Object.prototype.toString.call(f)); // [object Symbol]
可以看到,使用 Object.prototype.toString.call() 方法可以准确地判断一个变量是否属于基本类型。
判断引用类型
除了基本类型之外,JavaScript 中还有一些引用类型,例如 Object、Array、Function 等。我们同样可以使用 Object.prototype.toString.call() 方法来判断一个变量是否属于这些引用类型。例如:
var a = {}; var b = []; var c = function() {}; console.log(Object.prototype.toString.call(a)); // [object Object] console.log(Object.prototype.toString.call(b)); // [object Array] console.log(Object.prototype.toString.call(c)); // [object Function]
可以看到,使用 Object.prototype.toString.call() 方法同样可以准确地判断一个变量是否属于引用类型。
判断自定义类型
在实际开发中,我们经常需要定义自己的数据类型,例如某个类。我们同样可以使用 Object.prototype.toString.call() 方法来判断一个变量是否属于自定义类型。例如:
function Person(name, age) { this.name = name; this.age = age; } var p = new Person('Tom', 18); console.log(Object.prototype.toString.call(p)); // [object Object]
可以看到,使用 Object.prototype.toString.call() 方法同样可以准确地判断一个变量是否属于自定义类型。
总结
Object.prototype.toString.call() 方法是 JavaScript 中一个常用的方法,用于获取一个变量的类型。除了基本用法之外,该方法还有一些灵活的使用方法,可以更加方便地进行类型判断。在实际开发中,我们可以根据需要灵活地使用该方法,从而提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/650bc50595b1f8cacd5dc426