es6语法糖

ES6为一些已有的功能提供了非破坏性更新,这类新语法能做的事情其实用ES5也可以做,只是会稍微复杂一些,称之为语法糖。

对象属性的简洁表示法

声明的对象中包含若干属性,其属性值由变量表示,且变量名和属性名一样的只写一个变量名即可。比如,var a=[], var obj={a:a},可以简写为var obj={a};

箭头函数

ES6 为我们提供了一种写匿名函数的新方法就是箭头函数,不需要使用function关键字,其参数和函数体之间以=>相连接。

箭头只允许它们赋值给一个变量;

箭头头函数不能用做构造函数,你不能对箭头函数使用new关键字;

箭头函数也没有prototype属性;

箭头函数绑定了词法作用域,不会修改this的指向。

箭头函数返回值为一个对象时,你需要用小括号括起你想返回的对象。

解构赋值

对象解构:对象赋值给用大挂号包裹变量,对象的属性会把对应的属性值赋值给变量。比如

let person = { name: '李白', age: 18 };  

let { name, age } = person;

console.log(name); // '李白'

console.log(age);  //18

数组解构,允许你跳过你不想用到的值,在对应地方留白即可,比如

let [a,b,c]=[1,2,3];
console.log(a)//1
console.log(b)//2
console.log(c)//3

块级作用域

const具有和let一致的块作用域,区别在于const声明的变量在声明时必须赋值,不能再被赋予别的值,否则会报错。

通过const声明的变量值并非不可改变,声明的数组本身还是可以添加元素,只是数组的指向不变,引用不变,即内存地址不变。

if(true){
let a=10;
console.log(a);//10
}
console.log(a);//undefined

模板字符串

用反撇号声明,通过模板字符串,你可以在模板中插入任何JavaScript表达式了;插入变量${变量},因为模板字符串本身也是JavaScript表达式,故可以嵌套模板字符串;模板字符串默认支持多行。

var str = `this is ${name}`;

拓展运算符

...,可以把任意可枚举对象转换为数组

把arguments对象换成数组,arguments对象是函数的参数的类数组,包含传递给函数的每个参数,arguments[0],就是函数第一个参数

把字符串转换为由每一个字母组成的数组,

把数组中嵌套的数组合并在一个数组中

function num(n1,n2,n3,n4,n5){
console.log(n1,n2,n3,n4,n5)
}
num(1,2,3,4,5)
const arr=[100,200,300,400,500]
num(arr[0],arr[1],arr[2],arr[3],arr[4])// 100 200 300 400 500
num(...arr) // 100 200 300 400 500

 

posted @ 2020-08-19 17:51  叫我汤先森  阅读(354)  评论(0)    收藏  举报