ES2022로 싱글톤 생성

싱글톤을 만드시겠습니까? 왜요? 물론 OOP의 영광을 위해!

ES2022는 정적 이니셜라이저의 새로운 멋진 기능을 제공합니다. 즉, 이제 훨씬 더 쉽게 생성할 수 있습니다.
JS/TS의 싱글톤.
  • 생성자를 비공개로 만들어 스크럽 소비자가 클래스를 인스턴스화하지 않도록 합니다.
  • 비공개 정적 vip-one-of-a-kind 인스턴스를 생성합니다.
  • 새로운 ES2022 종소리와 휘파람 정적 블록으로 vip-one-of-a-kind 인스턴스를 초기화합니다.
  • 공개 정적 getter를 사용하여 비공개 정적 vip-one-of-a-kind 인스턴스 제공

  • class Foo {
        private static instance: Foo;
    
        static {
            Foo.instance = new Foo();
        }
    
        public static get getInstance(): Foo {
            return Foo.instance;
        }
    
        private constructor() { }
    }
    

    이전 방식보다 나에게 더 깔끔해 보입니다.

    class Foo {
        private static instance: Foo;
    
        public static get getInstance(): Foo {
            if(!Foo.instance){
                Foo.instance = new Foo();
            }
            return Foo.instance;
        }
    
        private constructor() { }
    }
    


    둘 다 같은 방식으로 소비되지만

    const bar = Foo.getInstance;
    


    후자!

    좋은 웹페이지 즐겨찾기