ES6 语法 之 let、const、模板字符串、箭头函数

ES6 语法

简介

ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。

ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。

ES6指的是javascript新规范


ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: letconst

let 关键字

let关键字是用来取代var的;
let作用,与var类似,用于声明一个变量;

	   {
			let a = 'http://www.baidu.com';
			var b = "魔道祖师";
			console.log(b);
			console.log(a);	
		}
		console.log(b);
		console.log(a);// 报错 ReferenceError: a is not defined

let 只在let命令所在块级作用域里有效
效果:

在这里插入图片描述


		{
			let a = 'http://www.baidu.com';
			var b = "魔道祖师";
			let a = 'http://www.douyin.com';//  报错 Identifier 'a' has already been declared
			var b = "含光君";
			console.log(b);
			console.log(a);
		}
		console.log(b);
		console.log(a);

let 不能重复声明
效果:

在这里插入图片描述
注意:
for 循环计数器很适合用 let

for (var i = 0; i < 6; i++) {
  setTimeout(function(){
    console.log(i);
  })
}
// 输出6个 6
for (let j = 0; j < 6; j++) {
  setTimeout(function(){
    console.log(j);
  })
}
// 输出 012345

解析:

  • 变量 i 是用 var 声明的,在全局范围内有效,所以全局中只有一个变量 i, 每次循环时,setTimeout 定时器里面的 i 指的是全局变量 i ,而循环里的6个 setTimeout 是在循环结束后才执行,所以此时的 i 都是 6。

  • 变量 j 是用 let 声明的,当前的 i 只在本轮循环中有效,每次循环的 j 其实都是一个新的变量,所以 setTimeout 定时器里面的 j 其实是不同的变量,即最后输出012345。(若每次循环的变量 j 都是重新声明的,如何知道前一个循环的值?这是因为 JavaScript 引擎内部会记住前一个循环的值)。


		console.log(aa);//  报错  ReferenceError: a is not defined
		let aa = 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值