ES6的 let 与 const
栏目: JavaScript · 发布时间: 7年前
内容简介:ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。本篇介绍 ES6 中的let命令,用来声明变量。它的用法类似于 var ,但是所声明的变量,只在 let 命令所在的代码块内有效
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
本篇介绍 ES6 中的 let 命令 和 const 命令
let命令,用来声明变量。它的用法类似于 var ,但是所声明的变量,只在 let 命令所在的代码块内有效
{
let a = 10;
var b = 1;
}
console.log(a) 输出 a is not defined.
console.log(b) 输出 1
let不存在变量提升
// var console.log(foo); // 输出undefined var foo = 2; // let console.log(bar); // 报错ReferenceError let bar = 2;
变量 foo 用 var 命令声明,会发生变量提升,开始运行时,变量 foo 已经存在了,但没有值,会输出 undefined 。
变量 bar 用 let 命令声明,不会发生变量提升。在声明它之前,变量 bar 是不存在的,这时如果用到它,就会报错。
let不允许重复声明
// 报错
function func() {
let a = 10;
var a = 1;
}
// 报错
function func() {
let a = 10;
let a = 1;
}
由于var重复声明的变量是可以运行的,即后边的会覆盖前边的变量。但是,只要声明的变量存在let,则若重复声明一个变量,都会报错。无论有一个let,let在前还是在后;还是有两个重复let声明的变量,都是有错误的。
const声明一个只读的常量。一旦声明,常量的值就不能改变。
const a = 10; console.log( a ) // 输出 10 a = 3; // 报错 TypeError: Assignment to constant variable.
const 一旦声明变量,就必须立即初始化,不能留到以后赋值
const a; // 报错 SyntaxError: Missing initializer in const declaration
const 与 let 作用域相同,只在声明所在的块级作用域内有效。
{
const a = 10;
console.log( a ) // 输出 10
}
console.log( a ) // 报错 Uncaught ReferenceError: MAX is not defined
const 实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针, const 只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。
转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/25332.html
微信打赏
支付宝打赏
感谢您对作者Miya的打赏,我们会更加努力! 如果您想成为作者,请点我
以上所述就是小编给大家介绍的《ES6的 let 与 const》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Black Box Society
Frank Pasquale / Harvard University Press / 2015-1-5 / USD 35.00
Every day, corporations are connecting the dots about our personal behavior—silently scrutinizing clues left behind by our work habits and Internet use. The data compiled and portraits created are inc......一起来看看 《The Black Box Society》 这本书的介绍吧!