javascript - javascript:修改导入的“变量”会导致“分配给常量变量”,即使它不是常量
问题描述
我有两个文件,file1 导出一个变量'不是常量' var x=1 和 file2 从中导入这个变量
问题是我不能修改那个导入的变量,即使它不是一个常数!
文件1.js
export var x=1 //it is defined as a variable not a constant
文件2.js
import {x} from 'file1.js'
console.log(x) //1
x=2 //Error: Assignment to constant variable
解决方案
这是不可变的导出模块值的影响。您可以使用同一模块中的另一个函数覆盖它
在您的文件 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;
推荐阅读
- python - 删除标题中没有日期的 FASTA 记录
- laravel - 在 VueJS Laravel 中使用其他表单输入动态更新文件
- kotlin - 验证 verifyOrder 中的确切调用次数
- html - 在制作使用语义 HTML 时,我可以使用
和 aria- describeby 而不是
- javascript - 在伪造查看器上上传了多个 IFC 文件,但位置不正确
- java - 如何在 Android 上的 Yandex 地图中获取当前位置
- python - 使用 solana python 进行交易
- python-3.x - 根据python中的键值过滤dicts列表
- websocket - websocket._exceptions.WebSocketProxyException:通过代理连接失败状态:403 在任何地方的 python 中运行时
- reactjs - 如何修复“重新加载页面后更改选项卡”。