[记录] ECMAScript 6 - let 和 const

简介: [记录] ECMAScript 6 - let 和 const

title: ES6 - let 和 const
date: 2017年8月15日 10:30:40
tags: js
categories: 教程

author: "JiaWei"

const and let

let const 教程

var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

// var 的情况
console.log(foo); // 输出undefined
var foo = 2;

// let 的情况
console.log(bar); // 报错ReferenceError
let bar = 2;
上面代码中,变量foo用var命令声明,会发生变量提升,即脚本开始运行时,变量foo已经存在了,但是没有值,所以会输出undefined。变量bar用let命令声明,不会发生变量提升。这表示在声明它之前,变量bar是不存在的,这时如果用到它,就会抛出一个错误。

目录
相关文章
|
4月前
|
JavaScript 前端开发 C++
|
4月前
|
编译器 C++
C++语言中const的用法
C++语言中const的用法
49 0
|
4月前
|
人工智能 JavaScript 前端开发
ECMAScript 6入门之let and const(一)
ECMAScript 6入门之let and const(一)
37 0
|
1月前
|
JavaScript 前端开发 开发者
|
1月前
|
编译器
【Bug记录】C2662:不能将this指针从const转换为非const
【Bug记录】C2662:不能将this指针从const转换为非const
|
3月前
|
JavaScript 前端开发
JavaScript语法关键点:变量用`var`、`let`、`const`声明
【6月更文挑战第22天】JavaScript语法关键点:变量用`var`、`let`、`const`声明;七种数据类型包括`Number`、`String`、`Boolean`、`Null`、`Undefined`、`Symbol`和`Object`;运算符如算术、比较、逻辑和赋值;流程控制有`if...else`、`switch`和各种循环。了解这些是JS编程的基础。
51 3
|
4月前
|
索引
【ES6新语法】let、const、var的区别,你学会了面试官没话说
【ES6新语法】let、const、var的区别,你学会了面试官没话说
|
4月前
|
JavaScript 前端开发
JavaScript开发中ES6+新特性:介绍一下let和const与var的区别。
JavaScript开发中ES6+新特性:介绍一下let和const与var的区别。
53 1
|
JavaScript 前端开发
javascript变量定义中var let const的区别
ECMAScript 变量是松散类型的,意思是变量可以用于保存任何类型的数据。每个变量只不过是一 个用于保存任意值的命名占位符。有 3 个关键字可以声明变量:var、const 和 let。
|
JavaScript 前端开发
JavaScript中 var、let、const 特性及区别详解
JavaScript中 var、let、const 特性及区别详解
155 0