"ECMAScript" 태그로 연결된 16개 게시물개의 게시물이 있습니다.
모든 태그 보기V8에 ES2015 프록시를 최적화하기
프록시는 ES2015 이래 JavaScript에서 중요한 부분이었습니다. 이들은 객체에 대해 근본적인 작업을 가로채고 동작을 사용자 정의할 수 있게 해줍니다. 프록시는 jsdom 및 Comlink RPC 라이브러리와 같은 프로젝트의 핵심 부분을 형성합니다. 최근에 우리는 V8에서 프록시 성능을 개선하기 위해 많은 노력을 기울였습니다. 이 글은 V8에서의 일반적인 성능 개선 패턴과 특히 프록시에 대해 설명합니다.
고성능 ES2015 및 이후
ES2015, ES2016, 그리고 그 이후
V8 팀은 JavaScript가 점점 더 많은 표현력을 갖춘 잘 정의된 언어로 발전하는 것을 중요시하며, 이를 통해 빠르고 안전하며 올바른 웹 애플리케이션 작성이 쉬워지도록 합니다. 2015년 6월, TC39 표준 위원회에 의해 ES2015 사양이 승인되며 JavaScript 언어에 대한 단일 업데이트로는 가장 큰 규모의 변경이 이루어졌습니다. 새 기능에는 클래스, 화살표 함수, 프라미스, 이터레이터/제너레이터, 프록시, 특수 심볼, 및 추가적인 문법 설탕이 포함됩니다. TC39는 새로운 사양의 출현 속도를 높이기 위해 노력하며, 2016년 2월에 ES2016 후보 초안을 공개하였으며 올 여름 최종 승인됩니다. ES2015 업데이트만큼 광범위하지는 않지만 ES2016은 지수 연산자와 Array.prototype.includes
를 도입한 점이 주목됩니다.
RegExp lookbehind assertions
ECMA-262 사양의 세 번째 버전과 함께 도입된 정규 표현식은 1999년부터 JavaScript의 일부였습니다. 기능과 표현력에서 JavaScript의 정규 표현식 구현은 다른 프로그래밍 언어와 대략 비슷한 수준을 보입니다.
`Math.random()`이 있고, 또 다른 `Math.random()`도 있다
Math.random()
은 0 이상 1 미만의 양수Number
값을 무작위 또는 유사 무작위로 선택하여 대략적으로 균등하게 분포시키는, 구현 의존적 알고리즘 또는 전략을 사용해 반환합니다. 이 함수는 인수를 받지 않습니다.