跳至內容

eslint/no-import-assign 正確性

此規則預設為開啟。

作用

不允許賦值給匯入的綁定

為什麼這樣不好?

ES 模組對匯入綁定的更新會導致執行階段錯誤。

範例

javascript
import mod, { named } from "./mod.mjs";
import * as mod_ns from "./mod.mjs";

mod = 1; // ERROR: 'mod' is readonly.
named = 2; // ERROR: 'named' is readonly.
mod_ns.named = 3; // ERROR: The members of 'mod_ns' are readonly.
mod_ns = {}; // ERROR: 'mod_ns' is readonly.
// Can't extend 'mod_ns'
Object.assign(mod_ns, { foo: "foo" }); // ERROR: The members of 'mod_ns' are readonly.

參考資料

以 MIT 授權發布。