美文网首页
var const let的区别

var const let的区别

作者: 于美美 | 来源:发表于2022-08-23 16:21 被阅读0次

var

  1. var 声明提升,就是把所有变量声明都拉到函数作用域的顶部,且反复多次使用var声明同一个变量也不会有问题,只是会覆盖上一个变量
  2. var声明的变量,成为window对象的属性

let

  1. let声明的范围是块作用域,而var声明的范围是函数作用域
  2. let声明的变量不会在作用域中被提升
  3. let声明的变量,不会成为window对象的属性
    4.let不可重复声明同一个变量,会报错

const

1.它的行为与let基本相同,唯一一个重要的区别是它声明变量的时必须同时初始化,且其值不可更改

有了let和const,大多数开发都不再使用var了,限制自己使用let与const


const定义的变量一定是不可改变的么?

不是的,const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。换言之,对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量;但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。

如果const变量引用的是一个对象,那么修改这个对象内部的属性并不违反const的限制

所以如果它保存是的常量,是不可更改的。
一般情况下,用const保存常量,let保存变量。

const person = {}
person.name = 'Matt' // ok

相关文章

  • Android菜鸟学习js笔记 一

    一、var,const,let区别? var 变量,const 常量,let块级变量。

  • es6

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

  • JS中var、let、const区别

    在javascript中有三种声明变量的方式:var let const。let var const的区别?var...

  • js中const,var,let区别

    在javascript中有三种声明变量的方式:var let const。let var const的区别?var...

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

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

  • let和const

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

  • js 2022经典面试题汇总

    1.JS数据类型有哪些 2.var、let、const区别 var存在变量提升,而let、const没有 let、...

  • ES6

    定义变量 let const 和 var 的区别 var 会进行预解析let / const 不会进行预解析预解析...

  • js 中 var let const 的区别

    很多人认为 var 和 let const 的区别在于,var 会变量提升,而 let const 不会,虽然可以...

  • const let var区别以及使用

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

网友评论

      本文标题:var const let的区别

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