您好!欢迎访问家园网-www.jy.wang!

家园网

const str = "example"; document.write(str.charAt(5)); // 输出 'l'这两句中const是干啥的

网络 作者:本站 点击:


const str = "example";
document.write(str.charAt(5)); // 输出 'l'


这两句中const是干啥的

const 是 JavaScript 中用于声明‌常量‌的关键字,其作用为:

  1. 不可重新赋值‌:用 const 声明的变量(如 str)不能被重新赋值(如 str = "new" 会报错)。

  2. 块级作用域‌:仅在当前代码块(如 {} 内部)有效,避免变量污染全局。

  3. 必须初始化‌:声明时需直接赋值(如 const str = "example"),否则报错。

对比其他声明方式‌:

  • let:可重新赋值,块级作用域。

  • var:可重新赋值,函数作用域(旧版写法,不推荐)。

在示例中,const str = "example" 确保 str 始终指向字符串 "example",后续若尝试修改 str 会触发错误,保证代码稳定性。


JavaScript中const和var啥区别

JavaScript中constvar的主要区别体现在作用域、变量提升、重复声明和可变性等方面:

作用域

  • var具有函数作用域或全局作用域,在函数内部声明的变量只能在函数内访问,但在iffor等块级代码中声明的变量会泄露到外部

  • const具有块级作用域({}内有效),在块级代码外不可访问

变量提升

  • var存在变量提升,声明会被提升到作用域顶部(赋值不会),因此在声明前访问会得到undefined

  • const不存在变量提升,存在暂时性死区(TDZ),声明前访问会报错

重复声明与修改

  • var允许重复声明同名变量,后声明的值会覆盖前者

  • const禁止重复声明,且声明时必须初始化,后续不可重新赋值(基本数据类型不可变,但引用类型的属性可修改)

全局属性

  • var在全局作用域声明的变量会成为window对象的属性

  • const声明的变量不会绑定到window对象

典型示例

if (true) {
  var a = 1; // 函数/全局作用域
  const b = 2; // 块级作用域
}
console.log(a); // 1(var泄露到外部)
console.log(b); // 报错(const仅在块内有效)


标签: