gpt4 book ai didi

javascript - 在 ES6 中更改导入变量的值

转载 作者:可可西里 更新时间:2023-11-01 01:29:00 29 4
gpt4 key购买 nike

我正在使用 ES6 模块并将变量从 moduleA 导入到 moduleB:

//moduleA.js
let a = 5;
let b;

export { a, b };

//moduleB.js
import { a, b } from './moduleA'

a = 6;
b = 1;

但是在 moduleB 中更改/赋值时,我收到如下错误:

a = 6;

ReferenceError: a is not defined

另一方面,我可以在 moduleBconsole.log(a)

它似乎无法分配给导入的变量?这是真的还是我错过了这样做的方法?为什么这不可能?

最佳答案

import { a, b } from './moduleA'

类似于

const a = ...
const b = ...

因为你不能在之后赋值。这并不完全相同,因为值可以改变,但它们只能从模块内部改变。所以你可以做

let a = 5;
function setA(value) {
a = value;
}

export { a, setA };

import { a, setA } from "./moduleA";

setA(4);
console.log(a); // 4

从模块外部你可以改变一个值,就像你可以使用const,就像你正在改变一个对象的属性一样,但你不能使变量指向一个完全不同的对象。

关于javascript - 在 ES6 中更改导入变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48168601/

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