ES6面试篇一
let 和 const let 和 var ES5使用 var 声明变量并没有块级作用域,会造成 for 循环的变量污染,变量名重复和变量提升的问题。 ES6新增 let 声明变量,变量只在代码块中有效,不存在变量提升的问题。 暂时性死区 TDZ const 和 let 声明变量前均为暂时性死区,在暂时性死区中,变量不能够被使用。 TDZ的本质:进入作用域后,变量已存在但声明后才可获取。 const 声明常量,且必须初始化。 本质维护内存栈中的保存的数据或地址不变,因此基本数据类型不会改变,引用数据类型可以增添修改属性。 字符串的拓展 字符串遍历器接口 for of 可直接遍历字符串,但最大优点在于可识大于0xFFFF码点的字符串。 字符串的拓展方法 确定字符串是否存在 includes() , startsWith() , endsWith() let str = "hello world" str . includes ( "o" ) //true str . includes ( "" ) //true str . startsWith ( "hello" ) //true str . endsWith ( "world" ) //true 重复字符串 "x" . repeat ( 3 ) //"xxx" 补全字符串 "1" . padStart ( 10 , "0" ) /