繁体   English   中英

您可以在 JavaScript 变量是 let 或 var 之后将其设为 const 吗?

[英]Can you make a JavaScript variable a const after it is a let or var?

我想做一些类似循环依赖的事情。 为了做到这一点,我不得不求助于这样的事情:

// x.js

let y

exports.setY = function(_y) {
  y = _y
}

// y.js

const x = require('./x')

x.setY(exports)

这种循环依赖问题一直发生在数据库模型中,这个引用那个,那个引用这个。 忽略您可能对循环依赖的这种特定用例是否是一个好主意的任何想法,我更想知道是否有一种方法可以在 JavaScript 中将变量转换为 const 声明后。 let y一样,设置后,将其设置为 const。

这样的事情可能吗? 我想这样做以获得性能优势作为关键,我不关心在这种情况下编译时检查优势。 有没有办法让这两个变量被编译,从而最大限度地提高效率?

您可以将您的值放入 object 并冻结它:

Object.freeze()

从网站:

Object.freeze() 方法冻结 object。 已冻结的 object 无法再更改; 冻结 object 可防止向其中添加新属性、删除现有属性、防止更改现有属性的可枚举性、可配置性或可写性,并防止更改现有属性的值。

  let test = { name: "" };
    function setTestName(name) {
        test.name = name;
        Object.freeze(test);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM