美文网首页
JS变量声明 - var,let 和 const

JS变量声明 - var,let 和 const

作者: 恒星的背影 | 来源:发表于2018-09-08 11:48 被阅读0次

var

a = 1 会做什么?
如果a不存在则声明a,如果a已经存在则给a赋值


下面的代码显示了声明提升的存在:

function fn() {
  if(true) {
    console.log(a)
  } else {
    var a = 2
  }
}
fn()    // undefined

由于声明提升的存在,建议变量声明都放在函数的最开始


let

let 声明的变量只在 let 所在的代码块内有效
在声明之前使用直接报错 undefined,声明之前的区域称为『临时死区』
至此,js 的变量声明回到一个比较正常的状态,重复声明报错,在声明之前使用也报错


const

const 声明的变量只有一次赋值机会,并且必须在声明的同时赋值
const 保证的是变量对应的内存地址里的内容不变,对于简单类型的数据,值就是内容,对于复合类型的数据(对象和数组),内容是实际的数据地址
如果想保证对象不变,可以使用 Object.freeze(),同时需要递归处理对象的属性

相关文章

  • 3小时入门javascript

    JS基本数据类型及变量声明在js中有三种声明变量的方式:var let const,let var const的区...

  • 工作中常用的 ES6 语法

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

  • 2018-09-04

    js变量和常量 JS中与变量常量声明相关的关键字有var、let以及const,其中let和const是ES6的新...

  • js var, let, const特性

    var, let, const 用来声明变量 一、let 用法 声明变量和var类似,但是所声明的变量,只在let...

  • (JS)

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

  • es6

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

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

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

  • JS var、let、const对比

    JS原先声明变量使用var;ES6中引入let和const用来扩展声明变量 (1)使用var声明的变量,作用域为该...

  • 初学React/Vue,必须要知道的几个ES6知识点

    变量声明 const 和 let 不要用 var,而是用const 和 let,分别表示常量和变量。不同于 var...

  • var、const和let

    一.var声明的变量会挂载在window上,而const和let变量不会 二.var声明变量存在变量提升,let和...

网友评论

      本文标题:JS变量声明 - var,let 和 const

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