const声明的空数组可以改变吗?
const是针对常量的声明,常量在声明时必须赋值,并且不可再赋值(赋值:用等号‘=’做赋值运算)。因此:
// 报错
const f = 2
f = 3
// 不报错
const arr = []
arr[0] = 2
const obj = {}
obj.o = 'fxd'
为什么声明数组和对象推荐用const?
js语言上没有差异,但引擎有区分常量与变量,js语言是弱类型动态语言,常量声明即赋值,效能比变量好得多。
整理自此页面
下面两种写法的区别
- 这种要报错
fn()
var fn = function () {
console.log('fn')
}
- 这种能正常运行
fn()
function fn () {
console.log('fn')
}
网友评论