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 중국어 웹사이트의 기타 관련 기사를 참조하세요!