ECMAScript 6 基础教程(var / let / const)

本文详细介绍了ECMAScript 6(ES6)中的var、let和const关键字,包括变量提升、暂时性死区、重复声明和只声明不赋值等特性。重点讲解了它们在块级作用域中的行为和限制,帮助理解JavaScript高级特性。
摘要由CSDN通过智能技术生成

什么是ES6 ?

ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。

它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

标准的制定者有计划,以后每年发布一次标准,使用年份作为版本。因为ES6的第一个版本是在2015年发布的,所以又称ECMAScript 2015(简称ES2015)。

ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现(另外的ECMAScript方言还有Jscript和ActionScript)。日常场合,这两个词是可以互换的。

var声明普通变量

// 1 var 声明的变量,可以提升
{    
	var a = 10;
}
console.info(a);    // 10


// 2 允许重复声明
var b = 20;
var b = 30
console.info(b);  // 30


// 3 允许重新赋值
b = 40;
console.info(b);   //40


// 4 允许只声明不赋值
var c;
console.info(c);    //undefined

let 声明局部变量(块级变量)

代码块内有效 ES6新增了let命令,用来声明变量。
它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

// 1 let声明的变量,不允许变量提升
{    
	let a = 10;
}
console.info(a);    //异常, a is not defined


// 2 存在暂时性死区 : 在块代码中,所有的变量都是局部变量 (必须先声明,再使用)
var b = 10;
{    
	console.info(b);        // b is not defined    
	let b = 20;
}


//3 不允许重复声明
var c = 10;
let c = 20;     //Identifier 'c' has already been declared  (变量c已经声明了)


//4 允许重新赋值
let d = 10;
d = 20;
console.info(d);


//5 允许只声明不赋值
let e;
console.info(e);    //undefined

声明常量:const

const声明一个只读的常量。一旦声明,常量的值就不能改变。
使用const命令声明变量,此变量必须立即初始化,不能留在后面赋值。否则会报错。
const的作用域与let命令相同:只在声明所在的块级作用域内有效。

//1. 不允许提升
{    
	const b = 10;
}
console.info(b)  //b is not defined


//2. 存在暂时性死区
var c = 10;
{    
	console.info(c)  //c is not defined  const c = 20;
}


//3. 不允许重复声明
const a = 10; 
const a = 20;  //Identifier 'a' has already been declared


//4. 不允许重新赋值
const a = 10; 
a = 20;   //Assignment to constant variable.


//5. 不允许只声明不赋值
const d;   // Missing initializer in const declaration 

变量声明:总结

关键词是否存在变量声明是否存在暂时性死区是否允许重复声明是否允许只声明不赋值
var存在不存在允许允许
let不存在存在不允许允许
const不存在存在不允许不允许
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值