"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > []를 사용한 배열 초기화가 새로운 Array() 생성자보다 빠른 이유는 무엇입니까?

[]를 사용한 배열 초기화가 새로운 Array() 생성자보다 빠른 이유는 무엇입니까?

2024-11-02에 게시됨
검색:744

Why is Array Initialization with [] Faster Than the new Array() Constructor?

배열 초기화 방법 벤치마킹: []가 새 배열보다 빠른 이유는 무엇입니까?

JavaScript에서 배열을 처리할 때 개발자는 종종 딜레마에 직면합니다. 약식 구문 []과 생성자 기반 접근 방식인 new Array() 중에서 선택하는 것입니다. 최근 테스트 결과 전자가 훨씬 더 빠른 것으로 밝혀져 많은 사람들이 근본적인 이유에 대해 궁금해했습니다.

JavaScript 엔진의 동작을 이해하면 이러한 불일치를 알 수 있습니다. 어휘 분석 중에 ARRAY_INIT 및 NEW와 같은 코드에 대한 일련의 토큰이 생성됩니다. ARRAY_INIT 토큰은 배열 생성으로 직접 이어지는 반면, NEW는 어떤 조치를 취할지 결정하기 위해 추가 처리가 필요합니다.

[]의 경우 엔진은 배열 생성 의도를 즉시 인식합니다. 이렇게 하면 new Array()에 필요한 추가 토큰화, 범위 체인 조회 및 생성자 호출이 필요하지 않습니다. 생성자 자체는 가변 인수 길이 처리 및 유형 검사와 같은 추가 복잡성을 도입합니다.

결과적으로 []는 엔진이 배열 없이 직접 배열을 생성하여 프로세스를 최적화할 수 있게 하므로 더 빠른 방법으로 나타납니다. 추가 작업이 필요합니다. 이러한 성능 이점은 []가 new Array()보다 훨씬 뛰어난 성능을 보이는 벤치마크에서 명백히 드러납니다.

릴리스 선언문 이 글은 1729294874에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3