经常使用的ES6方法html
ES6以后,新增了定义变量的两个关键字,分别是let和const。面试
let和const都可以声明块级做用域,用法和var是相似的,let的特色是不会变量提高,而是被锁在当前块中。数组
实例-1:数据结构
惟一正确的使用方法:先声明-->再访问闭包
const 声明常量,一旦声明,不可更改,并且常量必须初始化赋值。 const虽然是常量,不容许修改默认赋值,但若是定义的是对象Object,那么能够修改对象内部的属性:app
const和let的异同点 相同点:函数
不一样点:this
块级做用域的使用场景spa
在实际开发中,咱们选择使用var、let仍是const,取决于咱们的变量是否是须要更新,一般咱们但愿变量保证不被恶意修改,而使用大量的const。使用const声明,声明一个对象的时候,也推荐使用const,当你须要修改声明的变量值时,使用let,var能用的场景均可以使用let替代。指针
二:函数
函数的默认参数 在ES5中,咱们给函数传参数,而后在函数体内设置默认值,
在ES6中,咱们使用新的默认值写法:
3、箭头函数(=>)
箭头函数中this的使用跟普通函数也不同,在JavaScript的普通函数中,都会有一个本身的this值,主要分为:
普通函数:
箭头函数:
箭头函数的简单理解
一、箭头函数的左边表示输入的参数,右边表示输出的结果。
const s = a => a console.log(s(2)) // 2
二、在箭头函数中,this属于词法做用域,直接由上下文肯定,对于普通函数中指向不定的this,箭头函数中处理this无疑更加简单,以下:
//ES5普通函数 function Man(){ this.age=22; return function(){ this.age+1; } } var cala=new Man(); console.log(cala())//undefined
//ES6箭头函数 function Man(){ this.age=22; return () => this.age+1; } var cala=new Man(); console.log(cala())//23
ES6对象新增方法
合并具备相同属性的对象