我有一個add.js我做到這一點它是有效的混淆出口和進口ES6
const add = (a, b) => {
return a + b;
}
export default add;
但爲什麼我不能做到這一點
export default add(a, b) => (a + b)
?我將得到添加是未定義的。
另一個文件我有
我有一個add.js我做到這一點它是有效的混淆出口和進口ES6
const add = (a, b) => {
return a + b;
}
export default add;
但爲什麼我不能做到這一點
export default add(a, b) => (a + b)
?我將得到添加是未定義的。
另一個文件我有
因爲這不是聲明變量/常數在JS有道。 只有適當定義的var/constant纔會獲得空間(內存)。
因此,你需要做這樣的
const add;
或
let add;
或
var add;
可能是我的解釋是不正確的,但是當你導出甚至我的意思在這種情況下,如果您尚未聲明變量,則需要使用const,var或let來進行正確的聲明。
如果你只是想給函數直接導出爲默認值,你真的只是這樣做(沒有add
):
export default (a, b) => a + b;
進口將確定用於引用它的標識符。
如果你想要的功能有一個名稱(如name
財產填充除默認值以外的內容),你要麼讓它function
功能:
export default function add(a, b) { return a + b; };
或做它兩個部分,即那些您最初:
const add = (a, b) => a + b;
export default add;
(注意:()
周圍a + b
中的箭頭功能是不必要的,雖然當然你可以選擇讓它們作爲風格的問題。)
我可以做'export default add(a,b)=> {return a + b; };'? –
@AlexYong:不,無論箭頭功能是簡潔還是冗長都無所謂。但是你可以做上面顯示的'function'版本。 –
我可以知道,爲什麼它被降低了? – Nitesh
*「即使在這種情況下出口時,您也需要使用const,var或let來正確聲明」*否,您不需要。我不知道最後一段是否存在,當它是downvoted(措詞表明不),但如果是這樣,這可能是爲什麼。 (如果沒有,可能是你不清楚你是在處理'export default'方面。) –
謝謝你的解釋,但我的意思是如果你已經聲明瞭一個變量,那麼它是好的,但如果你還沒有聲明你需要在使用導出時使用const/let/var。 最初,我沒有提到最後一段,因爲我提到了爲什麼用戶不能直接使用任何名稱與導出沒有聲明。 現在,我編輯了我的答案以獲得更好的解釋。順便說一句,謝謝,我會記住下次有好的解釋。 – Nitesh