2015-10-30 40 views
2

如果我們從未在JavaScript中使用var變量,並且我們只使用const常量,那麼undefined數據類型何時會出現?一個例子是何時啓動常量:只有在JavaScript中使用const時未定義的用例?

console.log(a) 
const a = 5 

將打印undefined到控制檯。另一個例子(寫在控制檯)是

> function test(a, b) { console.log(a, b) } 
undefined 
> test(1) 
1 undefined 
undefined 

function定義和const定義返回undefined。實際上,任何不返回值的函數在調用時都會返回undefined。用比預期更少的參數調用一個函數將爲其餘參數分配undefined

其他什麼時候會使用undefined?有什麼地方有undefined用例列表嗎?

+2

爲了澄清,您的第一個示例實際上會在正確的ES6環境中拋出異常,因爲您的聲明已經初始化之前無法訪問'a'。 'const'和'let'沒有懸掛。 – loganfsmyth

+1

@loganfsmyth他們是**被吊起來的,這就是爲什麼你會得到一個異常^^ – zeroflagL

+0

取決於你如何看待它:)綁定的初始化並沒有爲'let' /'const'增加,但它是爲了'var'和函數聲明。雖然特定綁定的聲明確實會影響整個函數/上下文。 – loganfsmyth

回答

1

即使使用const還有一些其他地方會遇到undefined

  • 尚未分配的對象屬性的值。
  • 函數的默認返回值
  • void運算符的結果。
相關問題