es6,es7,es8语法总结 =====>> (不定期更新)

发布时间:2024-11-14 22:19

ES6

1. var let const

let,const具有块级作用域,不具有变量提升 const 用于不能被重新赋值的变量 123

2. 箭头函数

我们经常要给回调函数给一个父级的this 常用办法就是 var self = this 定义一个变量接住他 使用 箭头函数,this 将不会受到影响,可以直接用this调用父级的this 12345

3. 字符串

includes: const string = 'food'; const substring = 'foo'; console.log(string.includes(substring)); 返回的是布尔值。 string.repeat(str,count) 如果 string.length < count 即插入str到count == string.length为止 1234567891011

4. 模板字符串

const name = 'Tiger'; const age = 13; console.log(`My cat is named ${name} and is ${age} years old.`); 123

5.解构

结构数组:

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

结构对象:

var luke = { occupation: 'jedi', father: 'anakin' }; var occupation = luke.occupation; var father = luke.father; ------------------------------------------------------------- let luke = { occupation: 'jedi', father: 'anakin' }; let {occupation, father} = luke; console.log(occupation); console.log(father); 123456789101112131415

6.模块

暴露对象: function sumThree(a, b, c) { return a + b + c; } export { sumThree }; 引入: import { sumThree } from 'math/addition'; 12345678910111213

7.参数

es6支持设置默认值: function addTwoNumbers(x=0, y=0) { return x + y; } 1234567

8.rest参数

处理不定数目参数: function logArguments(...args) { for (let arg of args) { console.log(arg); } } 1234567891011

9.展开操作

可以展示数组: Math.max(...[-1, 100, 9001, -32]); let cities = ['San Francisco', 'Los Angeles']; let places = ['Miami', ...cities, 'Chicago']; // ['Miami', 'San Francisco', 'Los Angeles', 'Chicago'] 1234567

10.类

创造类: class Person { constructor(name, age, gender) { this.name = name; this.age = age; this.gender = gender; } incrementAge() { this.age += 1; } }

123456789101112131415161718192021

11.Maps

可以理解成键值对 let map = new Map(); map.set('name', 'david'); map.get('name'); map.has('name'); 123456789

12.Promises

远离回调地狱,可以转换成垂直代码 func1(value1) .then(func2) .then(func3) .then(func4) .then(func5, value5 => { }); 12345678910111213

13.Generators

用同步的代码风格来写异步代码 function* genFunc() { // (A) console.log('First'); yield; //(B) console.log('Second'); //(C) } 12345678910111213

ES7

1. includes

代码: let array = ['1','2','3'] if(array.includes('2')){ console.log('有') } 123456789

2. 指数操作符

2**3 == 8 1

ES8

1. object.entries()

代码: let obj = {a: 1, b: 2, c: 3}; Object.entries(obj).forEach(([key, value]) =>{ console.log(key + ": " + value); // 输出a: 1, b: 2, c: 3 }) 123456789

2.Async Await

异步看起来和同步写法一样 代码: async fetchData(query) =>{ try { const response = await axios.get(`/q?query=${query}`); const data = response.data; return data; } catch (error) { console.log(error) } } fetchData(query).then(data => { this.props.processfetchedData(data) })

1234567891011121314151617181920212223242526272829

网址:es6,es7,es8语法总结 =====>> (不定期更新) https://www.yuejiaxmz.com/news/view/76084

相关内容

本学期的学习生活总结5篇
学习方法总结(精选14篇)
大学学习方法总结(通用19篇)
我的假期生活初中总结
相亲结婚比自由恋爱结婚更稳定?
大学的学习方法总结(通用10篇)
生活经验小总结
护理2024个人年终总结最新6篇
第一学期生活适应教学工作总结(精选11篇)
大学生学习方法总结(合集10篇)

随便看看