我有两个文件,file1导出变量'not a constant'var x = 1
和file2,从中导入此变量

问题是,即使它不是一个常量,我也无法修改该导入的变量!

file1.js

export var x=1 //it is defined as a variable not a constant

file2.js
import {x} from 'file1.js'
console.log(x) //1
x=2 //Error: Assignment to constant variable

最佳答案

那是the immutable exported module values的效果。您可以在同一模块中用另一个功能覆盖它

在您的文件1中:

export let x = 1;
export function modifyX( value ) { x = value; }

在您的文件2中
import { x, modifyX } from "file1.js"

console.log( x ) // 1;
modifyX( 2 );
console.log( x ) // 2;

关于javascript:修改导入的 'variable'会导致 'Assignment to constant variable',即使它不是常量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53723251/

10-13 09:11