JavaScript의 함수 표현식 및 정적 동작
JavaScript 함수 표현식과 함께 새 키워드를 사용할 때 일부 개발자는 결과가 다음과 같다고 잘못 믿을 수 있습니다. 객체는 정적으로 동작합니다. 그러나 이 가정은 완전히 정확하지는 않습니다.
new 키워드는 객체의 새 인스턴스를 생성하고 함수 표현식은 해당 인스턴스의 생성자가 됩니다. 결과 객체는 인스턴스화 없이 액세스할 수 있는 등 정적과 유사한 동작을 보일 수 있지만 여전히 익명 함수를 가리키는 생성자 속성이 있습니다.
제공된 예를 고려하세요.
new 키워드가 사용되더라도 gameData 생성자를 사용하여 추가 개체를 인스턴스화할 수 있습니다.
이는 다음과 같습니다. gameData 개체는 실제로 정적이 아닙니다. 대신 생성자 속성이 "유출"되어 여러 인스턴스가 생성될 수 있습니다. 또한, gameData에 대한 프로토타입 객체가 생성되는데, 이는 개인 변수나 상속을 의도하지 않은 경우 불필요하게 복잡해질 수 있습니다.
JavaScript에서 진정한 싱글톤 객체를 생성하려면 객체와 같은 다른 패턴을 사용하는 것을 고려해야 합니다. 리터럴, 노출 모듈 패턴 또는 단일 인스턴스화를 시행하는 전용 생성자 함수입니다.
위 내용은 'new'로 생성된 JavaScript 함수 표현식은 정말 정적인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!