let和const声明的区别

2019-01-03  本文已影响0人  祈念念念

title: let和const声明的区别
date: 2018-10-20 18:32:15
tags: [JavaScript]
categories: JavaScript


let 命令

  1. let所声明的变量只在其所在的代码块内有效,比如for循环的计数器就很适合使用let命令。
  2. 不存在变量提升
  3. 暂时性死区:使用let命令声明变量完成之前,该变量都是不可用的。
  4. 在相同作用域中不允许重复声明同一个变量

const 命令

let与const都是只在声明所在的块级作用域内有效。

  1. 声明一个只读常量,一旦声明,常量的值就不能改变。
  2. 实际上const保证的并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。
const a;  // 报错,一旦声明变量就应该立即赋值

const b = 2;
b = 3  // 报错,声明后不能重新赋值

const array1 = [];
array1 = [1,2,3]  // 报错,数组是复合类型,指向的地址不能发生改变,应始终指向[]所在的地址,而[1,2,3]与[]不是同一个地址

const array2 = [];
array2[0] = 1
array2[1] = 2
array2[2] = 3  // 不报错,array2指向的地址不变,改变的只是其内部数据
上一篇下一篇

猜你喜欢

热点阅读