将JS常量变量编译成浏览器友好的代码,使其成为只读的,可以通过以下几种方式实现:
const PI = 3.14159;
这样声明的常量无法被修改,是只读的。
const obj = Object.freeze({ name: 'John', age: 30 });
obj.name = 'Mike'; // 无效,无法修改属性值
通过Object.freeze()方法冻结的对象是只读的。
const createCounter = () => {
let count = 0;
return {
getCount: () => count,
};
};
const counter = createCounter();
console.log(counter.getCount()); // 输出0
counter.count = 10; // 无效,无法修改count变量
通过闭包封装的变量只能通过暴露的方法进行读取,无法直接修改。
const counter = (() => {
let count = 0;
return {
getCount: () => count,
};
})();
console.log(counter.getCount()); // 输出0
counter.count = 10; // 无效,无法修改count变量
通过IIFE封装的变量只能通过暴露的方法进行读取,无法直接修改。
这些方法可以将JS常量变量编译成浏览器友好的代码,使其成为只读的。
领取专属 10元无门槛券
手把手带您无忧上云