enum에 쉽게 value 지정하기

배병일 ㅣ 2023. 7. 26. 22:11

기존에 js에서 enum을 사용하기 위해서 value 를 지정해줘야 한다는 걸 알았음.

 

test: { 
  type: Datetype.ENUM
  values: ["1", "2", "3"]
}

그래서 이런식으로 value 값을 지정해주니 정상적으로 실행이 되었음.

 

오늘 든 생각 만약에 value 값으로 정해줘야 할 값들이 무수히 많을 경우에는 일일히 적어줘야 하는 불편함이 생김..

 

이걸 어찌해야하나 생각..

 

다른 js 파일을 만들어

class A {
      testType = {
        a: "1",
        b: "2",
        c: "3",
      };
  }
  
  module.exports = A;

라는 식으로 작성을 하고 exports 해준다.

 

이제 enum을 쓰는 models로 돌아와

 

const Test = require("./test");
const test = new Test();

해당 js 파일에서 만든 class를 불러오고 그걸 사용하기 위해 인스턴스화시켜줌

 

test: {
  type: Datetype.ENUM;
  value: [Object.values(test.testType)];
}

인스턴스화 시킨 걸 이용해 이런식으로 작성해줌.

console.log(Object.values(test.testType));

// ["1", "2", "3"]

콘솔로 values를 찍었기 때문에 해당 value 들의 값이 잘 나옴.

 

이걸 응용해 key 값을 이용해 db에 저장될 땐 원하는 value 값으로 저장가능.

 

const 받은 데이터 = "A";

console.log(test.testType[받은 데이터])

// 1

'Javascript' 카테고리의 다른 글

객체지향 프로그래밍  (0) 2023.08.04
객체 지향 생성자 ( Constructor )  (0) 2023.08.04
javascript 에서 enum 사용  (0) 2023.07.25
데이터 타입 ( 숫자, 문자 ) 정리  (0) 2023.06.09
JavaScript 의 역사와 특징  (0) 2023.06.09