新建学习交流QQ群:1026682857 欢迎有兴趣的朋友 前来一起学习交流。
新增语法
- let 用于声明变量的关键字
- 变量具有块级作用域 (var不具有块作用域)
- 不存在变量提升
- 暂时性死区(就近原则)
- const 声明常量的关键字
- 具有块级作用域
- 必须赋初值
- 赋值后,值不能修改,不可赋值(内存地址不能修改)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWQ0waRy-1590068200756)(leanote://file/getImage?fileId=5ec65fc1d88cc771b9000002)]
解构赋值
- 数组解构
- 允许按照一一对应的关系从数组中提取值
let ary = [1,2,3];
let [a,b,c] = ary;
- 对象解构
- 允许使用变量名字匹配对象的属性 匹配成功则将赋值给变量
let person = {name = 'a',age = 10};
let {name,age} = person;
//别名 解构
let {name : myName , age : myAge} = person;
//myName 和 myAge为最终可用变量
箭头函数
用于简化语法,同lambda语法
this 指向其定义者的this
var fn = (形参) => { return; }
剩余参数
** 剩余参数语法允许将数量不定的参数表示为一个数组 *
function (arg1,...argN){
}
扩展运算符
将数组或对象转换为用逗号分隔的参数序列
*可用于将伪数组转换为真正的数组 等同于 Array.from
let ary = ["1","2","3"];
console.log(...ary);
=> 等同于
console.log("1","2","3");
//合并数组1
let ary1 = [1,2,3];
let ary2 = [4,5,6];
let ary3 = [...ary1,...ary2];
//合并数组2
ary1.push(...ary2);
string扩展
模板字符串
let name = 'Tom';
let sayHello = `hello ${name}`; // hello Tom
repeat 重复字符串
var result = 'a'.repeat(2) ; // aa
Set数据结构
成员值唯一,不重复
- add(value) 添加值,并返回set结构本身
- delete(value) 删除值,并返回是否成功
- has(value) 返回bool表示是否存在值
- clear() 清除所有成员
- forEach 遍历 同数组使用方式
let s = new Set([1,2,3]);
let length = s.size;