0
此代碼不會通過測試爲什麼我的typeof檢查未定義我的摩卡測試失敗?
功能:
function setTheme(theme) {
chartTheme = theme;
}
function getTheme() {
if (typeof chartTheme === undefined) {
chartTheme = 'dark';
}
return chartTheme;
}
測試:
但是這並經過測試,如果我檢查爲"undefined"
作爲一個字符串。
function getTheme() {
if (typeof chartTheme === 'undefined') {
chartTheme = 'dark';
}
return chartTheme;
}
謝謝,我想我不明白,還是那個'本身undefined'是一種!猜猜我的代碼將傳遞給函數的'undefined'轉換爲字符串。哦,我也只是用這些基本的默認檢查更簡單地更新我的代碼:'theme = theme || 'dark';' –
@LeonGaban因爲變量的值並未實際定義。所以,應該有一些可以說明這一點的價值。另外,你可以使用ES6的默認參數作爲函數setTheme(theme ='dark'){'而不是'|| 「dark''。 – Tushar
感謝那個ES6提示!我試過了,但在終端PhantomJS 2.1.1(Mac OS X 0.0.0)中出現這個錯誤。ERROR SyntaxError:Expected token')''我想我需要某種巴別解釋器? –