数据类型 constructor

来源:互联网 发布:网络调查的方法与步骤 编辑:程序博客网 时间:2024/05/19 16:48
constructor属性是可以改写的,如果你一不小心作死改了constructor属性的话,那么使用这种方法就无法判断出数组的真是身份了,

const a = [];

console.log(a.constructor);//function Array(){ [native code] }

//定义一个数组

const a = [];
 
//作死将constructor属性改成了别的

a.contrtuctor = Object;

console.log(a.constructor == Array);//false (哭脸)

console.log(a.constructor == Object);//true (哭脸)

console.log(a instanceof Array);//true (instanceof火眼金睛)

可以看出,constructor属性被修改之后,就无法用这个方法判断数组是数组了,除非你能保证不会发生constructor属性被改写的情况,否则用这种方法来判断数组也是不靠谱的。
0 0
原创粉丝点击