typeof和Object.prototype.toString比较

avatar
作者
猴君
阅读量:4

typeof是一个操作符,用来获取一个值的数据类型,返回值是一个字符串,表示该值的数据类型。Object.prototype.toString是一个方法,用来获取一个对象的类型,返回值是一个字符串,表示该对象的类型。

在比较两者时,typeof更适合用来获取基本数据类型的数据类型,而Object.prototype.toString更适合用来获取对象的具体类型。比如:

typeof 1; // "number" typeof "hello"; // "string" typeof true; // "boolean" typeof {}; // "object" typeof []; // "object"  Object.prototype.toString.call(1); // "[object Number]" Object.prototype.toString.call("hello"); // "[object String]" Object.prototype.toString.call(true); // "[object Boolean]" Object.prototype.toString.call({}); // "[object Object]" Object.prototype.toString.call([]); // "[object Array]" 

总的来说,typeof返回的是一个字符串,表示值的数据类型;而Object.prototype.toString返回的是一个字符串,表示对象的具体类型。在需要区分对象类型时,更推荐使用Object.prototype.toString。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!