es6整理

1.let、const

let:块级作用域;声明不会被提升;不同于var可以多次声明一个变量,let只能声明一次。
const:“常量”,声明是必须被赋值;类似与指针,可以被改变;常量,大写变量名
示例:
let name = “name”;//和var name = "name"用法一致

2.箭头函数

当箭头函数没有参数或者有多个参数,要用()括起来。
var f = (a,b) =>a+b; f(6,2); //8
当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块,当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回。
var f = (a,b) => { let result = a+b; return result; } f(6,2); // 8
当箭头函数要返回对象的时候,为了区分于代码块,要用 () 将对象包裹起来
// 报错
var f = (id,name) => {id: id, name: name}; f(6,2); // SyntaxError: Unexpected token :
// 不报错
var f = (id,name) =>({id: id, name: name}); f(6,2); // {id: 6, name: 2}
箭头函数体中的 this 对象,是定义函数时的对象,而不是使用函数时的对象。
function fn(){
setTimeout(()=>{
// 定义时,this 绑定的是 fn 中的 this 对象
console.log(this.a); },0)
}
var a = 20;
// fn 的 this 对象为 {a: 19}
fn.call({a: 18}); // 18

var Person = {‘age’: 18,‘sayHello’: ()=>{console.log(this.age);}};
var age = 20;
Person.sayHello(); // 20 // 此时 this 指向的是全局对象。这里定义时指的的Person 里面的’sayHello’属性,所以是全局对象

3.函数默认值

使用函数默认参数时,不允许有同名参数。只有在未传递参数,或者参数为 undefined 时,才会使用默认参数,null 值被认为是有效的值传递。

// 不报错
function fn(name,name){ console.log(name); }
// 报错
//SyntaxError: Duplicate parameter name not allowed in this context
function fn(name,name,age=17){ console.log(name+","+age); }

4.解构赋值

解构赋值、解构赋值等。针对数据或对象进行模式匹配,对其中的变量进行赋值。解构的源一般是数组或对象。
示例1:let [a, b, c] = [1, 2, 3]; //a=1;b=2;c=3;
示例2:let {a, b, …rest} = {a: 10, b: 20, c: 30, d: 40}; //a=10;b=20;rest={c:3,d=40}

5.Symbol

ES6是一种新的原始数据类型Symbol,表示唯一的值,最大的用法是定义对象的唯一属性名。
ES6数据类型除外Number,String,Boolean,Objec t,null和undefined,还添加了Symbol。
用法:由于每一个 Symbol 的值都是不相等的,所以 Symbol 作为对象的属性名,可以保证属性不重名。 --> 定义常量;唯一对象属性名。 --> 是原始数据类型不是对象,所以该对象的对应属性不能用“.”方法获取值,只能使用中括号[]获取。

6.map

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
示例:
var myMap = new Map();
var keyObj = {}; //对象
var keyFunc = function () {}; // 函数

myMap.set(0, “zero”);
myMap.set(1, keyObj);
myMap.set(keyFunc, “和键 keyFunc 关联的值”);

// 将会显示三个 logs。 一个是 “0 = zero” 另一个是 “1 = [object Object]”,还有一个是 “function () {} = 和键 keyFunc 关联的值”。
myMap.forEach(function(value, key) { console.log(key + " = " + value); }, myMap)

7.Set

Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。 ( 数组去重)。
示例:
var mySet = new Set([1, 2, 3, 4, 4]);
[…mySet]; // [1, 2, 3, 4]
并集、交集、差集 示例:
var a = new Set([1, 2, 3]);
var b = new Set([4, 3, 2]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值