gpt4 book ai didi

javascript - Babel 未编译全局变量

转载 作者:行者123 更新时间:2023-11-28 18:36:51 26 4
gpt4 key购买 nike

编码时我缺少 var 声明。我安装了 preset-0transform-runtime。控制台显示以下错误:

key is not defined

这是我正在运行的代码:

let set = new WeakSet();
key = {}; // missing var
set.add(key);
console.log(set.has(key));

但是当我添加 var 关键字时,一切都很好:

let set = new WeakSet();
var key = {}; // added var
set.add(key);
console.log(set.has(key));

控制台输出:

true

这意味着我不能用babel随意创建全局变量?

最佳答案

不是那样的,你不能。

您始终可以从任何文件将变量分配给 window.MyKey =whateverValue,并从应用中的任何其他文件访问该值。但这并不是在应用程序中全局共享数据的最佳方式。

最好的方法是创建一个文件,比如 MyFile.js

class MyFile {
constructor() {
this.MyKey = 10;
}
}

export default (new MyFile);

现在,您可以在应用程序中的任何位置请求此文件并访问 MyFile 的同一实例。所以,

随机文件.js

import MyFile from './MyFile'
MyFile.MyKey = 20;

这种方法可以避免污染全局范围,但您可以完成相同的功能。

关于javascript - Babel 未编译全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36910034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com