WEB2.0/프로그래밍

as const 로 object를 견고하게 만들기

나를찾는아이 2023. 3. 8. 15:23
728x90
반응형
const ProductStatus = {
  SoldOut : "SOLDOUT",
  Sales: "SALES",
}

 

이렇게 object를 이용하여 ProductStatus의 값을 설정하였다고 가정해봅시다

 

우리는 앞으로 이런식으로 코드를 사용할수 있겠죠

 

const product = new Product();
product.updateStatus(ProductStatus.SoldOut);

 

그런데 혹시 누군가가 코드를 이렇게 어디선가 변경할지도 모릅니다

const ProductStatus = {
  SoldOut : "SOLDOUT",
  Sales: "SALES",
}

ProductStatus.SoldOut = "soldout";

 

코드베이스가 커질수록 누군가가 이런 실수를 할수도 있겠죠

 

하지만 상수처럼 활용하는 이 값이 누군가에 의해 변경되는것을 원치 않습니다

 

 

이럴때는 as const를 사용해보세요

const ProductStatus = {
  SoldOut : "SOLDOUT",
  Sales: "SALES",
} as const

ProductStatus.SoldOut = "soldout";

 

마치 상수처럼 변하여 이 ProductStatus.Soldout에 다른 값을 할당하려고 할때 컴파일 오류가 발생합니다

 

 

좀더 안전해지겠죠?

728x90
반응형