ES6常用语法

来源:互联网 发布:桌面公告通知软件 编辑:程序博客网 时间:2024/06/07 02:05

let和const

定义变量使用let代替var

1.let声明只在块级有效   2.let变量会提升,但是ES6规定了let声明变量前不能使用该变量

const定义不可修改的变量

const遵循的规则和let相差无二,只是,const是用来声明恒定变量的,且声明的同时就得赋值,不然会报错

函数的用法

1.箭头函数

function hello(name) {    console.log('hello' + name)    console.log(`hello ${name}`) //模板字符串的用法}es6:const hello = (name) => {    console.log(`hello ${name}`) }//如果函数只有一条语法 可以直接简写为const double = x=>x*2

2.函数默认值

const hello = (name='abc') {    console.log(`hello ${name}!`)}hello()   //hello abc1!hello('xiaoming') //hello xiaoming! 如果不传值,默认为abc

3.展开符

function hello(name1, name2) {  console.log(name1, name2)}let arr = ['immok', 'imooccc']hello(...arr)// 这里会把这个数组展开 数组结果为 immok imooccc // es5要想实现的话就用hello.apply(null, arr)

对象的扩展

1.object.keys、values 、entries

const obj = {name:'张三',sex:'男'}console.log(Object.keys(obj))   // ["name", "sex"]  返回对象所有的属性,键名console.log(Object.values(obj)) //["张三", "男"]console.log(Object.entries(obj))//[Array(2), Array(2)]  把对象转成数组了    0: (2) ["name", "张三"]    1: (2) ["sex", "男"]    length: 2    __proto__: Array(0)

2.对象方法简写,计算属性

const obj  = {name:'a', course:'abc'}const obj2 = {type:'IT', course:'zhang'}console.log({...obj,...obj2}) //{name:'a', course:'abc',type:'IT', course:'zhang' } // ...会把对象展开,然后合并成一个新的对象,也可以在加属性eg: {...obj,...obj2,date:'2017'}

3.展开运算符,不是es6标准,但是babel也支持

原创粉丝点击