美文网首页
超级基础却又超级容易出错的前端面试题(2)

超级基础却又超级容易出错的前端面试题(2)

作者: Mr哎呦喂 | 来源:发表于2020-06-15 09:50 被阅读0次

    一、 拓展运算符和解构赋值是深拷贝还是浅拷贝?

    正确答案:当对象或者数组的值是基本类型的时候是深拷贝,引用类型则是浅拷贝.

    面试中经常会问到这个问题,对于不细心的同学来说,平时根本没有注意这个细节,导致被问到时一脸懵,可以自己写个例子试一下

    const a = {
          name: 'name',
          age: 18,
          marriage: false,
          addr: { province: 'sichuan', city: 'chengdu' }
        }
    
    let { name, age, marriage, addr } = a
    
    name = 'myname'
    age = 26
    marriage = true
    addr.province = 'shanghai'
    addr.city = 'shanghai'
    
    console.log(name, age, marriage, addr) 
    console.log(a)
    

    输出结果

    // myname 26 true {province: "shanghai", city: "shanghai"}
    // { name: "name", age: 18, marriage: false, addr: {province: "shanghai", city: "shanghai"} }
    

    二、typeof 各种类型的值的返回结果 ?

    
            null == undefined;
            0.1 + 0.2 == 0.3;
            typeof NaN;
            typeof Function;
            typeof Object;
            typeof {};
            'a'+1;
            'a'-1;
            Function instanceof Object;
            Object instanceof Function;
    
    

    正确答案:true false number function function Object 'a1' NaN true true

    这个题的易错点在于typeof的返回值以及instance的原理,直接附上MDN的权威链接,做错的仔细研究一下吧

    typeof参考链接
    instanceof参考链接

    相关知识点:

          typeof null === 'object';
          typeof NaN === 'number';
    
    特殊

    相关文章

      网友评论

          本文标题:超级基础却又超级容易出错的前端面试题(2)

          本文链接:https://www.haomeiwen.com/subject/sjcqxktx.html