JavaScript - 变量声明(let、const 和其他)

目录

一、引言

1. let 的作用

2. const 的作用

3. let 与 const 的选择

4. let 和 const 的性能

5. var, let, const 的对比

6. 常见误区

二、其他变量定义

         1. var 关键字

         2. 全局对象属性

         3. 使用 IIFE(立即调用函数表达式)

         4. ES6 模块

总结


一、引言

  • 简要介绍 JavaScript 的变量声明方式(varletconst)。
  • 解释为什么 let 和 const 被引入到 ES6 中,以及它们的目的。
1. let 的作用
  • 块级作用域

    •  let 声明的变量具有块级作用域(var 是函数作用域)。
    • 示例:
{
  let x = 10;
}
console.log(x); // ReferenceError: x is not defined

         避免变量提升

    • let 声明的变量不会提升到块的顶部。
    • 示例:
console.log(a); // undefined
var a = 5;

console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 10;

        重复声明

    • 在同一作用域内,不能使用 let 重复声明同一变量。
    • 示例:
const pi = 3.14;
pi = 3.14159; // TypeError: Assignment to constant variable.

2. const 的作用
  • 常量声明

    • const 用于声明常量,表明该变量的绑定不可以被重新赋值。
    • 示例:
const pi = 3.14;
pi = 3.14159; // TypeError: Assignment to constant variable.
  • 块级作用域

    • const 也具有块级作用域,与 let 类似。
    • 示例:
{
  const d = 20;
}
console.log(d); // ReferenceError: d is not defined
  • 引用类型

    • const 只保证变量引用的地址不变,对于对象和数组的内容是可以修改的。
    • 示例:
const obj = { key: "value" };
obj.key = "newValue"; // 合法,obj 仍然引用同一个对象
console.log(obj.key); // 输出: "newValue"

obj = {}; // TypeError: Assignment to co

你可能感兴趣的:(前端,javascript,开发语言,ecmascript)