JavaScript中Object.prototype.toString方法的原理_javascript技巧
程序员文章站
2022-03-22 20:49:04
...
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法.
var arr = []; console.log(Object.prototype.toString.call(arr)) //"[object Array]"
本文要讲的就是,toString方法是如何做到这一点的,原理是什么.
ECMAScript 3
在ES3中,Object.prototype.toString方法的规范如下:
15.2.4.2 Object.prototype.toString()
在toString方法被调用时,会执行下面的操作步骤:
1. 获取this对象的[[Class]]属性的值.
2. 计算出三个字符串"[object ", 第一步的操作结果Result(1), 以及 "]"连接后的新字符串.
3. 返回第二步的操作结果Result(2).
[[Class]]是一个内部属性,所有的对象(原生对象和宿主对象)都拥有该属性.在规范中,[[Class]]是这么定义的
上一篇: PHP学习中实用的知识点和坑分享
推荐阅读