当前位置:首页 > JavaScript

js const实现

2026-04-06 12:25:31JavaScript

const 的基本概念

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

const 的特性

const 声明的变量必须在声明时初始化,否则会报错。尝试重新赋值会导致 TypeError。

js const实现

const PI = 3.14159;
PI = 3.14; // TypeError: Assignment to constant variable.

const 与对象和数组

虽然 const 声明的变量不能被重新赋值,但如果变量是对象或数组,其属性或元素可以被修改。

js const实现

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

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

const 的作用域

const 声明的变量具有块级作用域,只在声明它的块或子块中有效。

if (true) {
    const message = 'Hello';
    console.log(message); // 'Hello'
}
console.log(message); // ReferenceError: message is not defined

const 与循环

在循环中使用 const 时,每次迭代都会创建一个新的块级作用域,因此可以安全地在循环中使用。

for (const i = 0; i < 5; i++) {
    // 报错,因为 i 不能被重新赋值
}

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

const 的最佳实践

  • 优先使用 const 而不是 letvar,除非需要重新赋值。
  • 使用 const 可以避免意外的变量重新赋值,提高代码的可维护性。
  • 对于不会改变的引用类型(如对象或数组),使用 const 可以确保引用不变,但内部状态仍可修改。

const 的注意事项

  • const 不保证变量的值不可变,只是变量名不能被重新赋值。
  • 如果需要完全不可变的对象,可以使用 Object.freeze() 或其他不可变库。

标签: jsconst
分享给朋友:

相关文章

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…

js 实现全选

js 实现全选

实现全选功能的方法 使用 JavaScript 实现全选功能通常需要操作复选框(checkbox)的状态。以下是几种常见的实现方式。 通过 DOM 操作实现全选 // 获取全选复选框和子复选…

js实现弹框

js实现弹框

使用 alert 实现简单弹框 JavaScript 的 alert 方法可以直接显示一个简单的弹框,内容为纯文本: alert("这是一个简单的弹框"); 使用 confirm 实现确认弹框…