var、let 和 const 的区别

来源:18-2 题目讲解-1:何为变量提升?

jaysus

2020-03-08

var、let 和 const 的区别

题中老师的答案:... var和let是变量,可修改;const是常量,不可修改 ...

const声明的变量并不是不可改变,只是会禁止变量绑定到一个新的引用。

const arr = ['a', 'b', 'c']
arr.push('d')
console.log(arr)
// ["a", "b", "c", "d"]

let arr2 = [1, 2, 3]
arr = arr2
// Uncaught TypeError: Assignment to constant variable.

使用 const声明只是意味着所声明的变量会一直持有同一个对象或基本值的引用,保持不变的只是这个引用。引用保持不变,但是引用指向的值并不是不可改变的。

改成var和let允许重新赋值,const不能重新赋值这样会更加恰当

写回答

1回答

双越

2020-03-08

是的,你的描述更加恰当严谨。是不能重新赋值,可以使用 API 进行修改。

1
0

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程