美文网首页
let和const声明的区别

let和const声明的区别

作者: 祈念念念 | 来源:发表于2019-01-03 13:43 被阅读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保证这个指针固定,而它指向的数据结构是不能控制的。

    举例:
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指向的地址不变,改变的只是其内部数据

相关文章

  • (JS)

    ES6 let、const和var的区别 let和const声明变量不存在变量提升 let和const不能重复声明...

  • es6

    1、let 和const(定义变量) (1)var 、let 、const的区别 a、作用域区别var 变量声明会...

  • const let var区别以及使用

    const let var区别如下: 1)var 声明的范围是函数作用域,let 和 const 声明的范围是块作...

  • es6总结一

    es6基础 let和const命令 let和const用于声明变量let跟var的区别 1、let定义过的变量不能...

  • let和const

    let/const(常用) let和var 区别 let,const用于声明变量,用来替代老语法的var关键字,与...

  • 重读 ES6(一)

    一、let 和 const 命令 let 命令 let 与 var 的区别:let 声明的变量只在 let 命令所...

  • [转载]var和let/const

    var和let/const的区别 块级作用域 不存在变量提升 暂时性死区 不可重复声明 let、const声明的全...

  • 工作中常用的 ES6 语法

    变量声明 let 和const 不用var, 用const声明只读变量,let声明变量。let和const都是块级...

  • 面试题 var let const的区别 箭头函数和普通函数的区

    var let const 有什么区别 var var声明的变量可进行变量提升,let和const不会var可以重...

  • let,const和var的区别

    let,const和var的区别 变量提升:const 和 let 必须先声明再使用,不支持变量提升 作用域:co...

网友评论

      本文标题:let和const声明的区别

      本文链接:https://www.haomeiwen.com/subject/wgatrqtx.html