JavaScript의 "new" 키워드는 정말 해로운가요?
좋은 JavaScript 관행에 대한 지속적인 논의가 진행되는 가운데 Douglas Crockford는 "new" 키워드가 위험하다는 키워드가 논란을 불러일으켰다. 하지만 확실한 결론에 도달하기 전에 장점과 단점을 더 깊이 파고드는 것이 중요합니다.
"new" 사용의 장점
"new" 사용의 단점
function foo() { if (!(this instanceof foo)) { return new foo(); } // Constructor logic follows... }
균형 잡힌 관점
Crockford의 입장이 맹목적으로 받아들여라. "새로움"의 이점이 잠재적인 단점보다 더 클 때가 있습니다. 위에 설명된 방어 프로그래밍 메커니즘을 구현함으로써 개발자는 코드의 견고성을 손상시키지 않으면서 "새로운" 기능을 활용할 수 있습니다.
ES5/ES6 고려 사항
ES5의 경우 , 엄격한 모드에서는 방어 확인에서 "arguments.callee"를 사용하는 것이 금지됩니다. ES6에서는 클래스 내에서 "new"를 안전하게 구현하므로 외부 확인이 필요하지 않습니다. 또한 "new.target"은 "new"로 호출되지 않은 생성자를 검사합니다.
결론
Crockford의 우려도 주목해야 하지만, "new.target"은 " 키워드는 본질적으로 유해하지 않습니다. 합리적인 코딩 방식을 채택하고 그 복잡성을 이해함으로써 개발자는 "새로움"의 장점을 활용하는 동시에 잠재적인 위험을 완화할 수 있습니다. 이점과 방어 기술을 모두 고려하는 균형 잡힌 접근 방식을 통해 이 필수 JavaScript 기능을 안전하고 효과적으로 활용할 수 있습니다.
위 내용은 JavaScript의 'new' 키워드가 정말 그렇게 위험한가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!