6월, 2023의 게시물 표시

타입스크립트의 형변환

Typescript Type-Casting   타입스크립트는 타입이 존재하고, 이에 따라 당연히 타입 캐스팅 도 존재합니다. 타입 캐스팅을 한국어로 말하면 형변환 , 즉 형식을 변환하는 작업 입니다. Type Casting의 필요성   Javascript나 Lua 등, 형식을 명확히 지정하지 않아도 되는 언어를 사용하다가 Typescript나 C#, Java 등 형식을 명시해야 하는 언어를 사용하게 되면 언뜻 굳이 형변환이 필요한가? 라는 생각이 들 수도 있으나, 아주 조금만 코딩하다 보면 형변환의 필요성이 뼈저리게 느껴지게 될 겁니다.   가장 흔하고 좋은 예시는 데이터를 옮기는 상황 이라 할 수 있습니다.   이 포스트에서는 타입스크립트에 대해 말하고 있으므로 타입스크립트로 예를 들겠습니다. // 여러 형식이 담길 수 있는 변수 const variableData: string | string[] | null = "abc"; // string 데이터를 처리하는 메서드 function processString(str: string) { console.log(str); } // variableData에는 현재 string 타입의 데이터가 담겨 있으나 // processString에서는 이를 처리하지 못함. 왜? // processString은 string 형식의 인자를 가지지만 // variableData는 string | string[] | null 타입이기 때문 processString(variableData); // 컴파일 에러   바로 위와 같은 상황에서 타입 캐스팅을 사용할 수 있습니다. Typescript의 두 가지 형변환 방법   타입스크립트에는 두 가지 형변환 방법이 있습니다. 마치 C#의 Direct Casting 과 as, is operator  처럼요.   그러나 각각의 캐스팅 방식이 로직에 영향을 주는 C#과는 다르게 Typescript의 두 가지 형변환은 로직에 직접적인 영향을 주지 않습니다.  즉, 동일한 기능