導出的最佳做法是什麼?Javascript導出類或對象
class MyUtils {
print() {...}
convert() {...}
}
export default new MyUtils();
或者:
const myUtils = {
print() {...}
convert() {...}
}
export default myUtils;
還是別的什麼?
注:這應該是一個單身,不超過1個實例
導出的最佳做法是什麼?Javascript導出類或對象
class MyUtils {
print() {...}
convert() {...}
}
export default new MyUtils();
或者:
const myUtils = {
print() {...}
convert() {...}
}
export default myUtils;
還是別的什麼?
注:這應該是一個單身,不超過1個實例
如果它是一個單例,只導出對象。你應該像下面那樣導出這個類,並且只有當你多次使用它時。 (畢竟一類的一點是,它應該像創建多個對象的模板功能)
export default class MyUtils {
print() {...}
convert() {...}
}
你的第二個選項應該適用於單身,這就是我正常使用。從費利克斯的評論,我得到的模塊是單身的,選項1也可以。我仍然傾向於採用第二種選擇,因爲代碼使得我非常清楚地使用單例。
const myUtils = {
print() {...}
convert() {...}
}
export default myUtils;
第一個選項每次都創建一個新對象嗎?我用'console.log'添加了一個'constructor',並將它導入到多個文件中,並且只打印一次? – Vic
@Vic:模塊只評估一次。 –
通常導出一個對象作爲默認導出有點反模式。你最好的選擇是做
export function print() {...}
export function convert() {...}
然後做
import * as utils from "./utils";
完全避免創建對象,並依靠模塊對象本身作爲你的命名空間。
您可以對類進行以下操作:'export default class MyUtils {}' –
您是打算在每次使用時創建一個對象實例還是一個新實例? – Trendy
更新了我的問題,這應該是一個單身人士 – Vic