码迷,mamicode.com
首页 > 其他好文 > 详细

ES6 之 let和const、块级作用域

时间:2019-01-28 20:14:14      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:复杂数据类型   区域   类型   有用   简单   变量提升   因此   作用域   只读   

let

  1. let 声明的变量只在其所在的代码块内有用
  2. 不存在变量提升
  3. 只要在会计作用域中存在let命令,它所声明的变量就绑定这个区域
  4. 不允许重复声明

ES6块级作用域

  1. 外层代码不受内存代码块的影响
  2. ES6规定,在块级作用域之中,函数声明类似于let
  3. 允许在块级作用域内声明函数
  4. 函数声明会提升到所在块级作用域的头部

const

  1. const声明一个只读常量,一旦声明,常量的值就不能改变
  2. 只在声明所在的块级作用域内有效
  3. const声明的常量与let命令相同,只在声明所在的块级作用域内有效
  4. const不存在变量提升,同样存在暂时性死区,只能在声明后使用。

本质:cosnt实际上保存的并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。

对于简单数据类型,值就保存在变量指向的内存地址中,因此等同于常量。

但是对于复杂数据类型,变量指向的内存地址保存的只是一个指针,const只能保证这个指针固定,至于它指向的数据结构是不是可变的,这就完全不能控制。----指针固定

 

ES6 之 let和const、块级作用域

标签:复杂数据类型   区域   类型   有用   简单   变量提升   因此   作用域   只读   

原文地址:https://www.cnblogs.com/houfee/p/10331296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!