当前位置:首页 > JavaScript

js const实现

2026-03-14 18:37:55JavaScript

const 的基本概念

在 JavaScript 中,const 用于声明一个常量,其值在初始化后不可重新赋值。const 声明的变量具有块级作用域,与 let 类似。

const 的特性

  • 不可重新赋值const 声明的变量不能被重新赋值,否则会抛出错误。

    js const实现

    const PI = 3.14;
    PI = 3.14159; // TypeError: Assignment to constant variable.
  • 块级作用域const 的作用域限于声明它的代码块内。

    if (true) {
      const x = 10;
    }
    console.log(x); // ReferenceError: x is not defined
  • 必须初始化const 声明时必须赋值,否则会报错。

    js const实现

    const y; // SyntaxError: Missing initializer in const declaration

const 与对象和数组

虽然 const 声明的变量不能重新赋值,但其引用的对象或数组的内容可以修改。

const person = { name: "Alice" };
person.name = "Bob"; // 允许修改属性
person = { name: "Charlie" }; // TypeError: Assignment to constant variable

const nums = [1, 2, 3];
nums.push(4); // 允许修改数组
nums = [5, 6]; // TypeError: Assignment to constant variable

const 的使用场景

  • 声明不需要重新赋值的变量(如配置常量)。
  • 声明引用类型(对象、数组)时,避免意外重新赋值。
  • 配合模块化开发,导出不可变的变量或函数。

const vs let vs var

关键字 作用域 可重新赋值 变量提升 需初始化
const 块级
let 块级
var 函数级

注意事项

  • 使用 const 时,确保变量值不需要后续修改。
  • 对于引用类型,const 仅限制变量绑定,不限制其内部状态的变化。
  • 在循环中,const 的行为与 let 类似,每次迭代创建一个新的绑定。
    for (const i = 0; i < 3; i++) { // TypeError: Assignment to constant variable
      console.log(i);
    }

    但在 for...offor...in 中可用:

    for (const item of [1, 2, 3]) {
      console.log(item); // 1, 2, 3
    }

标签: jsconst
分享给朋友:

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…