假设我有一个要导出的变量,那么下面两种方式有什么区别:
export const a = 1;
对抗
export let a = 1;
我了解 const
和 let
的区别,但是当你导出它们时,有什么不同呢?
假设我有一个要导出的变量,那么下面两种方式有什么区别:
export const a = 1;
对抗
export let a = 1;
我了解 const
和 let
的区别,但是当你导出它们时,有什么不同呢?
import
是对导出值的实时只读视图。因此,当你执行import a from "somemodule";
时,无论你在模块中如何声明a
,都不能将其赋值。//------ lib.js ------
export let counter = 3;
export function incCounter() {
counter++;
}
//------ main1.js ------
import { counter, incCounter } from './lib';
// The imported value `counter` is live
console.log(counter); // 3
incCounter();
console.log(counter); // 4
// The imported value can’t be changed
counter++; // TypeError
lib.js
而不是 main1.js
。
let
vs. const
语义适用于模块中声明的变量。
const
,则无法在任何地方重新分配或重新绑定。let
,则只能在模块中重新分配(而非用户)。如果更改了它,则 import
的变量会相应更改。我认为一旦导入,其行为与源文件外部使用变量的地方相同。
唯一的区别是如果您在此文件结束之前尝试重新分配它。
export
关键字的详细信息请参见此处。目前,它在任何 Web 浏览器中都没有本地支持。 - RBT