Array.prototype.push의 흥미로운 사례: 더 편리한 것 대신 길이를 반환하는 이유
Array.prototype.push는 하나 이상의 요소로 배열을 확장하는 JavaScript 메소드입니다. 새로 추가된 항목이나 수정된 배열 자체를 반환하는 보다 직관적인 대응 항목과 달리 push는 흥미롭게도 배열의 새 길이를 반환합니다. 이러한 파격적인 행동은 현재 구현으로 이어진 디자인 결정에 대한 의문을 제기했습니다.
역사적 맥락
이 디자인 선택의 근거를 밝히기 위해 우리는 푸시의 역사. TC39의 통신 허브에 따르면 푸시는 Perl의 배열 조작 기능에서 영감을 받아 1997년 JavaScript 1.2(Netscape 4)에서 데뷔했습니다. 처음에 push는 Perl 4 규칙을 준수하여 마지막으로 푸시된 항목을 반환했습니다. 그러나 JavaScript 1.3(Netscape 4.06)에서는 push가 Perl 5에 맞춰 동작을 변경하여 배열의 새 길이를 반환했습니다.
합리화
새 길이를 반환한 이유 추가된 항목이나 변형된 배열을 반환하는 것보다 길이가 더 적절하다고 간주됩니까? 불행히도 이 질문은 아직 답이 없습니다. 역사적 기록은 Perl 4와 이러한 차이가 발생한 이유에 대한 세부 정보를 제공하지 않습니다. 그러나 몇 가지 잠재적인 고려 사항을 추측할 수 있습니다.
대체 옵션
디자이너가 새로운 길이 반환을 선택하지 않았더라면, 다른 옵션 고려했을 수도 있습니다:
결론
새로운 길이를 반환하는 Array.prototype.push의 구체적인 근거는 완전히 명확하지 않지만 Perl의 역사적 기원과 단순성과 일관성의 잠재적 이점이 Array.prototype.push에 영향을 미쳤을 수 있습니다. 구현. 이 디자인 결정은 개발자의 기대에 완벽하게 부합하지 않을 수 있지만 JavaScript에서 배열을 조작하기 위한 잘 정의되고 일관된 동작을 제공합니다.
위 내용은 Array.prototype.push가 추가된 항목이 아닌 길이를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!