[TIL] 2019-12-07

undefcat·2019년 12월 6일
0

TIL

목록 보기
89/228

2019-12-07 토요일

V8 Engine

Object Literal보다 JSON.parse가 더 빠르다.

Faster apps with JSON.parse

JSON으로 유효한 객체가 존재한다면, Object Literal보다 JSON.parse로 객체를 생성하는 것이 더 빠르다. (특히 cold load일 때)

  1. Object Literal은 파싱될 때 여러 토큰의 가능성을 따져야 한다. 반면 JSON.parse는 오직 문자열 토큰 하나이다.

  2. {로 시작하는 토큰을 발견했을 때, 이게 꼭 Object Literal이라는 보장이 없다(예를 들어 const x = ({ x }) => x같은 표현식). 반면, JSON.parse는 오직 Object임을 안다.

물론 어느 정도 크기가 클 때에만 성능상 이점을 낼 수 있으며, 가독성을 위해 코드로 JSON.parse를 사용할 필요는 없고 webpack이나 babel을 활용하도록 한다. (webpack의 경우 JSON모듈을 파싱할 때 그렇게 되도록 구현되어있고 babel플러그인이 존재한다.)

profile
undefined cat

0개의 댓글