JavaScript - 함수선언문과 스코프


'use strict; //이거 쓰면 블록 스코프에 갇히게 된다. 이러면 맨 마지막에는 에러 뜸
if(true){
  a() //true
  function a (){console.log(true)} //블록 스코프에 안 갇힘
}
a() //true

‘strict mode’가 아닌 경우, ‘sloppy mod’에서는 브라우저마다 다르게 동작한다.

‘strict mode’에서는 함수 선언문도 블락스코프에 갇힌다.

es6에서는 함수 선언문을 쓰지 않는 것이 좋다. arrow function을 쓰거나 객체:메소드 축약형, 생성자 : class로.

function+ : generator

오롯이 ‘function’만 있는 키워드가 등장할 일 자체가 적다.

아예 안쓰는 쪽으로 고민을 하고 작성을 해야 한다.