웹 코드 분석하다가 타입을 enum으로 지정한걸 발견함 ㅇㅅㅇ
근데 ts에서 enum의 문제는
enum으로 타입을 지정한 변수에는 enum에서 명시하지 않은
다른 숫자값을 넣어도 컴파일 에러가 나지 않음 ㅇㅅㅇ
예시로
enum Days {
Monday: 1,
Tuesday: 2
}
let day: Days = Days.Monday;
day = Days.Tuesday;
day = 100; // 에러 안남!
그래서 보통 웹 클라이언트 개발할 땐 enum 대신 Union type이나 유니온 스트링 리터럴로 타입을 지정해서 미리 정한 타입 안에서 값을 통제하는게 더 안전함.
기존 코드는 왜 이렇게 한 걸까 알아보니 개발하는 웹 서비스와 운영 중인 모바일 클라이언트에서 데이터 공유를 해야 하기 때문이었음.
모바일 클라이언트에서 쓰는 언어에서는 Union type이 없어서 서로 이해 가능하도록 enum을 쓴 거였음
그래서 웹, 모바일 클라이언트 간 소통이 필요하다면 enum을 사용하는게 맞대 ㅇㅅㅇ
타스가 미래다
응원하겠습니다! 그리고 죄송하지만 질문 하나만 해도 될까요? 자바스크립트 딥다이브 구매 하였는데 js를 처음 접해서 그런가 이해는 가는데 책 1회독 했을 때 기억에 남을까 걱정이 되는데 유튜브 강의 한번 보고 책 정독 하는게 나을까요?
난 딥다이브 보기 전에 제로초 자스 강의 2~3번 보고 직접 작은 기능 가진거 만들어보고 딥다이브 보니까 금방 읽었음. 님 걍 공부 스탈 대로 하셈 ㅇㅅㅇ
넵! 며칠 동안 귀찮게 해드려 죄송하고 감사합니다.