es6 2017
http://es6.ruanyifeng.com/
18.async 20.Decorator 属于ES2017, nodejs 未实现
21.Module 中的 import export nodejs未实现,浏览器也未实现,只能babel 等转码
ES6 解构赋值应用
/* 解构赋值 * let [a,b,c] = [1,2,3,4] * console.log(a); // 1 * */// 【1】返回对象 function test(a,b) { return { jia:a+b, jian:a-b, cheng:a*b, chu:a/b } } let {jia,jian,cheng,dd}=test(12,4) // 这里的变量要跟上面一致 console.log(test(12, 4)); console.log(test(12, 4).jia); // 16 console.log('和: '+jia); console.log('差: '+jian); console.log('积: '+cheng); console.log('除: '+dd); // 修改变量的结果是 undefined // 【2】 函数参数可以调换顺序 function f2({name,url,age}) { console.log('my name is ' + name + ',my age is ' + age + ',my url is ' + url); } f2({url:'baidu.com',age:12,name:'kang'})
/* 【3】模板字符串应用 模板使用`` ,变量使用 ${name} */ var name = 'kang'; $(".b").append(` <div> <span>${name}</span> <h1>sss</h1> </div> `)
// 1.解构key要一致 let {a, b} = {a: 121, b: 20}; console.log(a); // key 要一致 // 2. ...剩余参数 function show (a, b, ...arr) { console.log(a, b, arr); } show(12, 3, 4, 5, 6); // 3.map返回新数组 let arr = [1, 2, 3, 4, 5]; let newArr = arr.map(val => { return val * 2; }); console.log(newArr); // 4.reduce 累积值 let arr3 = [1, 3, 4, 5]; // tmp 是累积值 前面值的和 // item 是当前值 // 求和 let res = arr3.reduce((tmp, item, index) => { return tmp + item; }); console.log(res); let res2 = arr3.reduce((tmp, item, index) => { if (index < arr3.length - 1) { return tmp + item; // 一直累加 } else { // 累积到最后求平均值 return (tmp + item) / arr3.length; } }); console.log(res2); // 5.startswith let url = 'http://xxx'; if (url.startsWith('http://')) { console.log('is url'); } else { console.log('no url'); } // 6 class class Person { constructor (name,age){ this.name=name; this.age=age; } show(){ console.log(this.name); } } class Worker extends Person{ constructor (name,age,job){ super(name,age); // 继承属性 this.job=job; } showJob(){ console.log(this.job); } } let w = new Worker('kang',12,'web') w.show(); // 方法自动继承 w.showJob()

浙公网安备 33010602011771号