Javascript 정적 함수 표현식 이해: GameData 사례
Javascript에서 new 키워드를 활용하는 함수 표현식은 같은 의미에서 정적이 아닙니다. C# 대응물로. 이 접근 방식은 진정한 정적 클래스를 생성하는 대신 생성자 속성을 유출하고 의도하지 않은 프로토타입 객체를 생성합니다.
GameData 예제에 대한 심층 분석
제공된 예제인 gameData는 new 키워드가 포함된 함수 표현식을 사용하여 "클래스"의 단일 인스턴스를 생성하는 방법을 보여줍니다. 그러나 생성자 속성을 포함하면 추가 객체의 인스턴스화를 허용하여 "클래스"를 비정적으로 만듭니다.
대체 싱글톤 접근 방식
진정한 클래스를 달성하려면 Javascript의 싱글톤 패턴을 사용하려면 다음 방법을 고려하세요.
싱글톤 패턴 구현
아래 코드는 생성자 함수를 사용하는 싱글톤 패턴을 보여줍니다.
function GameData() { if (this.constructor.singleton) return this.constructor.singleton; else this.constructor.singleton = this; // Private and public members initialization } GameData.prototype.storageAvailable = function () { // Availability check logic }; var gameData = new GameData(); var gameData2 = new GameData(); console.log(gameData === gameData2 === GameData.singleton); // Outputs true
이 접근 방식은 후속 인스턴스화 시도가 항상 동일한 GameData 인스턴스를 반환하여 진정한 싱글톤을 설정하도록 보장합니다. 행동.
위 내용은 JavaScript에서 정적 클래스 또는 싱글톤 패턴을 올바르게 구현하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!