JavaScript中ES6新增语法

ES6是JavaScript在ES5基础上更新迭代的版本,主要有以下几个方面:

ES6变量定义

es6声明变量的关键字不再局限于var,而是出现新的关键字let和const
关于let
let定义的变量不会被程序预解析,通过let定义的变量与循环遍历forEach中声明的变量相似,每次执行都是定义一个新的变量,相互之间不影响。如果let声明在{}内,只能在大括号内部进行调用,在外部无法调用。
关于const
在JavaScript中往往,把const定义的变量,称为常量。const定义在{}中,不能在{}外调用,一般使用 const 定义 对象,数组,函数,引用数据类型,const中存储的是引用数据类型的地址,只要地址不改变,可以改变数组,对象中的单元存储的数据。
由于let和var不会被预解析,那么定义不赋值情况下,会报错。

ES6箭头函数

箭头函数是ES6新增语法,在使用箭头函数时,省略声明关键字function,在原来小括号()和大括号{}之间添加 => 来指向程序内容。它是函数的另外一种语法形式,例如:
普通函数改为箭头函数

const fun1 = function(){}     //普通函数
const fun2 = ()=>{}           //箭头函数

有参数时候把参数写在小括号中。

ES6中函数的this指向问题

在ES6语法中,新增的箭头函数无法改变this指向。普通函数的指向问题大致为以下几个方面。
箭头函数的this指向:
在箭头函数中,this指向的是父级程序的this指向,
如果父级程序有this指向,那么箭头函数指向的就是父级程序的this,
如果父级程序没有this指向,那么指向的就是window
普通函数的this指向:
声明式,赋值式/匿名函数,对象中函数,绑定的事件处理函数
this都是指向的调用函数时,之前定义的内容
1),声明式指向的是window
2),匿名函数/赋值式指向的是window
3),forEach循环指向window
4),定时器,延时器指向window
5),定义在对象中的函数指向的是对象
6),绑定的事件处理函数指向的是绑定事件处理函数的标签

ES6中的自定义构造函数

ES6中,新增语法形式 class 类。只是语法格式和书写方式与ES5的不同。ES6中构造函数用class声明,参数的赋值写在constructor中。内部函数声明不再写入到构造函数的prototype中。例如

class Fun1{
           constructor(name,age){
           		this.name = name;
           		this.age = age;
           }
 		   f1(){
                console.log(this.name , this.age);
           }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值