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

本文详细介绍了ES6中的重要语法特性,包括let和const关键字,它们与var的区别,以及模板字符串和箭头函数的使用。let允许块级作用域,防止变量提升,不可重复声明,适用于for循环。const用于定义常量,值不可变,但对复合类型(如对象、数组)仅保证引用地址不变。模板字符串简化了字符串拼接。箭头函数改变了this的指向,提供了一种简洁的函数定义方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值