let命令和const命令

在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命令和const命令)