数据类型 constructor

    xiaoxiao2024-11-20  18

    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属性被改写的情况,否则用这种方法来判断数组也是不靠谱的。
    转载请注明原文地址: https://ju.6miu.com/read-1293840.html
    最新回复(0)