JavaScript의 "new" 키워드는 유해합니까?
JavaScript의 "new" 키워드는 논란을 불러일으켰으며 일부에서는 위험. 그러나 자세히 살펴보면 "new" 사용의 장점이 많이 드러납니다.
"new" 사용의 장점
단점 "new"
단점 완화
이러한 단점을 해결하려면, 각 기능에 간단한 검사를 추가할 수 있습니다.
function foo() { // If "new" is omitted, silently correct the problem if (!(this instanceof foo)) { return new foo(); } // Constructor logic follows... }
이렇게 하면 개체가 항상 올바르게 구성되어 자동 오류의 위험이 제거됩니다.
미래 보장
ES5는 "arguments.callee"를 포함한 특정 구성을 허용하지 않는 엄격 모드를 도입했습니다. 따라서 위에서 언급한 검사는 엄격 모드에서 수정해야 할 수도 있습니다.
function foo() { // Check for "new" using new.target (ES6) if (!(new.target)) { throw new Error("Constructor called as a function"); } // Constructor logic follows... }
결론
"new" 키워드에는 주의 사항이 있지만 여전히 JavaScript의 중요한 도구입니다. 장점을 이해하고 잠재적인 위험을 완화함으로써 개발자는 객체 생성 및 코드 재사용을 위한 "새 기능"의 힘을 안전하게 활용할 수 있습니다.
위 내용은 JavaScript의 'new' 키워드는 해로운 것보다 더 도움이 됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!