包.json
{
"type": "module"
}
用戶.js
let users = ["Jack", "Mary"];
export default users;
index.js
import users from './users.js';
users = [];
執行 index.js 后出現錯誤:
users = [];
^
TypeError: Assignment to constant variable.
為什么?被users明確定義為變數而不是常量。
uj5u.com熱心網友回復:
import users from './users.js';
類似于
const users = ...
因為您不能在之后分配值。這并不完全相同,因為值可以更改,但只能從模塊內部更改。所以在 users.js 里面
let users = [];
export const setUser(newUsers) {
users = newUsers
}
export {users, setUser);
index.js
import {users, setUser} from './users.js'
console.log(users);
console.log(setUser(["a", "b", "c"]));
uj5u.com熱心網友回復:
正如@pilchard 解釋的那樣,為了完成我的任務,我需要在模塊內更改這個陣列。那是因為我匯入的值在模塊外是只讀的。檔案。
用戶.js
let users = ["Jack", "Mary"];
function emptyUsers() {
users = [];
}
export { users, emptyUsers };
index.js
import { users, emptyUsers } from "./users.js"
console.log(users); // ["Jack", "Mary"]
emptyUsers(); // instead of users = [];
console.log(users); // []
users.push('Ricky'); // Also I can still change the values of the imported array
console.log(users); // ['Ricky']
uj5u.com熱心網友回復:
嘗試匯入as不同的名稱:
import users as u from "./users.js"
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/489197.html
標籤:javascript
