1.let和const的常规使用
2.变量的解构赋值
var [a,b,c] = [1,2,3]; console.log(a,b,c); //1,2,3
var [a,b,c] = [,2,]; console.log(a,b,c); //undefined,2,undefined
var [a=11,b,c] = [,2,]; console.log(a,b,c); //11,2,undefined
console.log(foo,bar); //hello,hi
let {foo:abc,bar} = {foo:"hello",bar:"hi"};//给foo起个别名叫abc
console.log(abc,bar); //在使用的时候就要用abc,否则会报错
let {cos,sin,random} = Math; //直接去对象里边找对应的函数
let {foo:abc="hello",bar} = {bar:"hi"}; //对象解构赋值设置默认值
把对应属性的值赋值给变量,跟对象里属性的顺序无关
let [a,b,c,d,e] = "hello"; console.log(a,b,c,d,e); // h e l l o
let {length} = "nihao" console.log(length); //5
3.字符串扩展
includes()//判断字符串包含指定字符,参数2表示从第几个字符开始匹配 console.log("hello world".includes("world",7)) //false
var obj = { username:"zs" } console.log(`<div>${obj.username}</div>`);
4.函数扩展
function foo(param = "nihao"){console.log(param)} //nihao
function foo({uname,age}={}){} foo({uname:"lisi",age:12})
function foo(a,b,...param){console.log(param);} foo(1,2,3,4,5) //1,2,[3,4,5]
function foo(a,b,c,d,e,f){console.log(a+b+c+d+e+f)} let arr=[1,2,3,4,5,6] foo(...arr) //15
5.箭头函数
function foo (v){ return v} 等效于let foo = v => v //函数体只有一行代码可以省略大括号
箭头函数中this取决于函数的定义,而不是定义,传统的this取决于函数的调用
箭头函数不可以new
箭头函数不可以使用arguments获取参数列表
原文:https://www.cnblogs.com/zmyxixihaha/p/10604224.html