Extra commas at the end of array and object (dangling comma)

2015. 5. 29. 23:27Programming/JavaScript

반응형
Stack Overflow - Does Internet Explorer 9 choke on extra commas at the end of array and object literals?
  간단하게 요약하면, 배열 혹은 오브젝트를 생성할 시 마지막 요소 뒤에 comma가 오는 것을 허용하냐는 질문이다. 업무를 진행하던 중 이 사실을 몰랐던 나는 굉장히 난항에 부딪혔었는데, 실수로 마지막 요소 뒤에 comma를 붙여놨었기 때문이다. 심지어 내가 테스트 했던 Internet Explorer 11에서는 아무런 이상이 발생하지 않지만, IE 9 이하에서는 에러가 발생했다. 

  var obj = {a:1, b:2, c:3,}
  위의 코드는 IE8에서 수정됐다. 즉, IE8 이상의 브라우저에서는 위의 문법을 오류로 간주하지 않는다. 그러나 IE7 이하에서는 dangling comma로 인한 오류가 발생한다.

  var arr = [1, 2, 3,]
  위의 코드는 IE9에서 수정됐다. 그러나 IE8 이하의 브라우저에서는 네 개의 원소가 있는것으로 간주하며, 네 번째 원소의 값은 undefined가 된다.


반응형