変数の昇格について話します


    JS    ,       ,            ,
          ,               ,        。
b() // call b
console.log(a) // undefined

var a = 'Hello world'

function b() {
    console.log('call b')
}

                 ,              。
                     ,         ,
      。           :        ,
      。           ,JS           
      ,                ,        
       ,           undefined,        ,
         ,          
  • は、アップグレード中に同じ関数が前の関数をカバーし、関数が変数アップ
  • より優先される.
    b() // call b second
    
    function b() {
        console.log('call b fist')
    }
    function b() {
        console.log('call b second')
    }
    var b = 'Hello world'
    
    
    var        ,    ES6     let。
    let        ,          let     ,
    let   ,                  ,