let命令和const命令

  总结:在ES6中开始用let来定义块级作用域变量,let没有变量的提升,用let声明的变量要求必须等let声明语句执行之后,该变量才能使用不然会报Uncaught ReferenceError 错误,而且let变量不能进行重复声明。

在react-native中,常常见到用let和const 声明变量。它们是ES6 新增的用来声明变量的方式。它们的用法类似于var,但是和我们所熟悉的var声明出来的变量又有点不一样。
let命令:
1、let所声明的变量,只在let命令所在的代码块内有效。
{
let a = 1;
var b = 2;
}
console.log(a) //会报错
console.log(b) //打印2
上面代码中,分别用let和var声明了两个变量。然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值。这表明,let声明的变量只在它所在的代码块有效。
let不允许在相同代码块中,重复声明同一个变量。
function func() {
let a = 10;
let a = 1;
} // 报错
2、不存在变量提升
var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。但是按照一般的逻辑,变量应该在声明语句之后才可以使用。
let改变了这一现象,为了符合逻辑,let命令所声明的变量一定要在声明后使用,否则报错。
console.log(aa); // undefined
var aa = 2;
console.log(bb); // 报错
let bb = 2;
上面代码中,变量aa用var命令声明,会发生变量提升,aa是存在的,但是没有值,所以输undefined。变量bb用let命令声明,不会发生变量提升。在声明它之前,变量bb是不存在的,这时如果用它,就会报错。
const命令:
1、const声明一个只读的常量。一旦声明,常量的值就不能改变。
const x = 5;
x = 3;//错误
const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。
const的作用域与let命令相同:只在声明所在的块级作用域内有效。
const声明的常量,也与let一样不可重复声明。
金沙官网线上,ES6 添加的let和const命令很常见,我觉得最主要的特性就是这些。
Thanks♪(・ω・)ノ。

先看下面的几个例子:

             

 

{ 
  let i = 9;     // i变量只在 花括号内有效
} 
console.log(i);  // Uncaught ReferenceError: i is not defined

  1.

本文由金沙官网线上发布于Web前端,转载请注明出处:let命令和const命令

您可能还会对下面的文章感兴趣: