一、let const
1.let命令:声明变量仅在块级作用域有效;let实际上为js新增了块级作用域
好处:
-不存在变量提升;
-内部声明的变量 函数 不会影响外部
-不可重复声明变量
2.const 声明常亮 声明时赋值
声明变量:
1.var
2.function (ES5 全局对象属性)
3.let
4.const
5. import
6.class
二 变量的解构赋值
解构Destructuring: Es6允许按照一定模式 从数组、对象中提取值,对变量进行赋值
三、 for...of
任何部署了Iterator接口的对象, 都可以用此遍历
for ( let [key, value] of map){ // }
四、字符
1.unicode表示法 u0000~uFFFF. 1字符=2B 1B=2b 1汉字=4b
c.codePointAt(0) > uFFFF
codePointAt(index) 返回第index+1位字符的十进制码
String.fromCodePoint() 从码点返回字符 (codePointAt逆操作)
2.字符串的API
.at(index): 可识别> uFFFF的字符 如汉字 (Es5 .charAt(index)不可识别> uFFFF的字符 )
.normalize():Unicode正规化 表示音调和重音符号 --详细参数解释待查
.includes(s): boolean,是否找到s
.startWidth(s): boolean,s是否在字符串开头
.endWidth(s): boolean,s是否在字符串结尾
.repeat(n) :返回字符串重复n次后的字符串
.padStart(n, str): 总长度n,不足长度时默认以str的开头默认 eg. "x".padStart(5, “ab”) //"ababx" ; 原字符串长度超过n,则返回全整的原字符串。
.padEnd(n, str):结尾默认填充
3 模板字符串 ` ` (反引号)
可包含单行字符串、多行字符串、变量${ variable}; 也可调用函数 ${ fn() }