ES6

ECMAScript 6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript 2015(ES2015);另外,一些情况下ES6也泛指ES2015及之后的新增特性。

ES6新增功能
1、let命令
ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。分别用let和var声明了两个变量。然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值。这表明,let声明的变量只在它所在的代码块有效。

{   
	let a = 10;   
	var b = 1; 
} 
console.log(b); // 1 
console.log(a); // 报错a没有定义

let不允许在相同作用域内,重复声明同一个变量,不能在函数内部相同模块范围重新声明参数。

let a = 10;// 即使声明是var a = 10;后面一样报错 
let a = 1;// 报错 
function func(arg) {   
	let arg; // 调用时因同范围重名报错 
} 
function func(arg) {   
	{     
		let arg; // 不报错,因为对上一个arg来看在子模块中  
	} 
}

var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined。为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。这在语法上,称为“暂时性死区”(temporal dead zone,简称TDZ)。例如:在let x前增加一句typeof x就会报错,因为同一块作用域在let x之前,x无法进行任何操作。

2、const命令
const声明一个只读的常量。一旦声明,常量的值就不能改变,且声明时必须立即初始化,不能留到以后赋值。const的作用域与let命令相同:只在声明所在的块级作用域内有效。

大型的公司,对项目进行整改,代码迁移从es5迁移到es6,能使用const就使用const,不能使用就用let。常量的效率比变量要高。

解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。结构化赋值,可以简化书写的长度,提升效率

let a = 1; 
let b = 2; 
let c = 3; 
// 等价于 
let [a, b, c] = [1, 2, 3];

字符串处理
ES6在以前的字符串之上增加了一些功能
includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值