es6面试题

    科技2022-07-17  121

    声明变量var跟let有什么区别?

    不存在变量提升 console.log(c); var c = '111'; 这边var存在预解析,变量提升,执行方式其实如下 var c; console.log(c); //所以很显然这边打印出来的值是undefined c = '111';

     

    同一个作用域下不能重复定义同一个名称有着严格的作用域 function fun(){ let n = 10; if(true){ let n = 100; } console.log(n); // n=10 //这边的n不会报错,因为let是块级作用域啦 } fun();

     

     const 声明一个只读的常量,一旦声明,常量的值就不能改变。一定必须要初始化,不能只声明不赋值

    箭头函数:简化了函数的定义

    let f = v => v; // 变量名 = 参数 => 返回值(函数体) 等同于 var f = function(v){ return v; }

    数据结构 

    set 类似于数组,成员是唯一的 const s = new Set(); // 实例化 s.add(1).add(2).add(3); //支持链式写法 //面试常见问题 去重 var arr2 = [1,2,3,4,5,4,1,1,4,5,2,4,2,3]; var arr3 = [...new Set(arr2)]; 扩展运算符 先序列化处理,然后再转换成数组 map 类似于对象,键值对方式,但是键可以是任何类型 const m = new Map(); m.set('name','huanhuan').set('age','18');//支持链式写法

     

    Processed: 0.011, SQL: 8