ES6 中 let 和 const 声明变量的特点及用法
在 ES6 中,let 和 const 是两个新的关键字,用于声明变量。相对于以前的 var 关键字,let 和 const 声明变量具有更加严谨的语法和更加灵活的作用域规则。本文将详细介绍 let 和 const 的特点及用法,帮助读者更好地理解和运用这两个关键字。
let 的特点及用法
let 关键字用于声明块级作用域的变量,其特点如下:
变量只在 let 命令所在的代码块内有效。
不存在变量提升,即不能在声明前使用该变量。
同一作用域内不能重复声明同名变量。
可以使用 let 声明全局变量,但需要在全局作用域内声明。
let 的用法示例如下:
// javascriptcn.com 代码示例 { let a = 1; console.log(a); // 1 } console.log(a); // 报错:a is not defined let b = 2; let b = 3; // 报错:Identifier 'b' has already been declared let c = 4; if (true) { let c = 5; console.log(c); // 5 } console.log(c); // 4 let d = 6; window.d = 7; console.log(d); // 6 console.log(window.d); // 7
const 的特点及用法
const 关键字用于声明块级作用域的常量,其特点如下:
声明时必须赋值,且赋值后不能修改。
变量只在 const 命令所在的代码块内有效。
不存在变量提升,即不能在声明前使用该变量。
同一作用域内不能重复声明同名变量。
可以使用 const 声明全局常量,但需要在全局作用域内声明。
const 的用法示例如下:
// javascriptcn.com 代码示例 { const a = 1; console.log(a); // 1 } console.log(a); // 报错:a is not defined const b = 2; b = 3; // 报错:Assignment to constant variable. const c; // 报错:Missing initializer in const declaration const d = [1, 2, 3]; d.push(4); console.log(d); // [1, 2, 3, 4] const e = { name: 'Tom', age: 18 }; e.age = 19; console.log(e); // { name: 'Tom', age: 19 } const f = 6; window.f = 7; console.log(f); // 6 console.log(window.f); // 7
总结
let 和 const 是 ES6 中新增的关键字,用于声明变量。let 用于声明块级作用域的变量,const 用于声明块级作用域的常量。它们具有更加严谨的语法和更加灵活的作用域规则,可以有效地避免变量污染和作用域混乱的问题。在实际开发中,我们应该根据具体情况选择使用 let 或 const,以提高代码的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6554aecfd2f5e1655de812ae