>  기사  >  웹 프론트엔드  >  Array.prototype.push가 유용한 데이터 대신 새 배열 길이를 반환하는 이유는 무엇입니까?

Array.prototype.push가 유용한 데이터 대신 새 배열 길이를 반환하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-22 09:43:03891검색

Why Does Array.prototype.push Return the New Array Length Instead of Useful Data?

Array.prototype.push가 유용한 데이터 대신 새로운 길이를 반환하는 이유

ECMA-262에 도입된 Array.prototype.push, 3판에서는 요소가 추가된 후 배열의 새 길이를 나타내는 숫자를 반환합니다. 이러한 디자인 선택은 직접적으로 유용한 정보가 아니기 때문에 개발자를 당황하게 만들었습니다.

TC39 커뮤니케이션 채널의 역사적 증거는 이러한 결정을 뒷받침합니다. JS1.2(Netscape 4)에서 푸시는 Perl의 기능을 모델로 했으며 마지막으로 푸시된 항목을 반환함으로써 Perl 4와 유사하게 동작했습니다. 그러나 JS1.3(Netscape 4.06)에서는 push가 Perl 5 규칙에 맞춰 변경되었으며 이제 새로운 배열 길이를 반환합니다.

원본 jsarray.c 소스 코드에 따르면 이 수정은 의도적인 것입니다.

/*
 * If JS1.2, follow Perl4 by returning the last thing pushed.  Otherwise,
 * return the new array length.
 */

이러한 디자인 선택은 JavaScript 버전 전반에 걸쳐 일관성을 제공하고 기존 Perl 5 동작과 일치시키려는 욕구에서 비롯되었을 수 있습니다. 새 길이를 반환하는 것이 즉시 가치가 있는 것은 아니지만 푸시 작업 후 배열 크기를 명확하게 보여줍니다.

위 내용은 Array.prototype.push가 유용한 데이터 대신 새 배열 길이를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.