본문 바로가기
728x90

타입스크립트4

typeScript - 타입가드 타입가드란 타입스크립트 내에서 어떤 변수가 2개 이상의 타입을 갖게되는 경우가 있을 때. 특정 타입이 들어왔을 때 작동할 수 없는 코드에 대해서 경고해주거나, 원천적으로 막을 수 있는 코드 테크닉을 말합니다. function foo(a) { if(a === null) return; console.log(a?.valueOf()); } foo();// undefined 자바스크립트로 런타임 에러를 막을 수는 있습니다. 하지만 위와 같은 방식은 그렇게 좋은 방식이 아닙니다. 런타입 에러로 자동으로 멈추는 것도 필요한 것이죠. 그렇기에 타입검사용 함수를 만들어 오작동을 막고 런타임을 멈출지 아닐지 판단하는 것이 좋습니다. 참고로 자바스크립트에는 null을 undefined 처리하는 와일드카드가 있습니다. a?... 2021. 8. 1.
typeScript - typeScript 개괄3(기타) TypeScript 타입 명시(type annotations)에 쓰이는 몇 가지 기타 기능들 보겠습니다. 1. any Type any Type은 작업중인 코드의 타입 명시가 매우 어려운 경우거나 복수의 타입을 가질 때 사용됩니다. 예를 들어 서드 파티 라이브러리에서 가져온 컨텐츠의 타입을 모르거나 공통 메소드의 인자값이 상황에 따라 달라질 때 유용하게 사용할 수 있습니다. function getTestData(baseParam: any, baseParamArray: any[]): {} { if(baseParam) { if(typeof baseParam != 'number' || !Number(baseParam)) { baseParam = 0; } } else { baseParam = 0; } let te.. 2021. 7. 7.
typeScript - typeScript 개괄2(객체 생성과 접근자 제한) 안녕하세요. 저번 포스팅 글에 이어서 타입스크립트로 인터페이스를 만들고, 인터페이스로 객체를 생성하는 것을 좀 더 자세하게 다루어 보겠습니다. 1. class로 객체생성 // 인터페이스 interface member { memberNo: number; name: string; phoneNm?: string;// 문자열 타입 isAuthenticated: boolean;// boolean 타입 } // 인터페이스 상속 interface customer extends member { point: number; address?: string; } // 객체 정의 class customerInfo { info: customer; createDt: string; constructor(info: customer, .. 2021. 7. 7.
typeScript - typeScript 개괄1(환경설정, 타입 명시, interface) 타입스크립트는 저도 최근에 공부하고 있어서, 잘은 모르지만 정리 목적으로 타입스크립트를 다루어 보겠습니다. 1. 타입스크립트 개발환경 설정 일반적으로 js파일 확장자를 ts로 바꾸거나, ts 확장자로 파일을 생성하면 자동으로 타입스크립트 컴파일러가 생성됩니다. 만약 자동으로 생성되지 않는다면, $npm install -g typescript 를 통해서 설치해주시면 됩니다. 브라우저가 타입스크립트를 인식하지 못하기 때문에 자바스크립트로 변환해주기 위한 컴파일러가 필요하며, tsconfig.json을 통해 컴파일러를 설정할 수 있습니다. tsconfig.json 파일에서 타입스크립트와 자바스크립트 간의 컴파일 설정을 하시면 됩니다. // tsconfig.json { "compilerOptions": { "s.. 2021. 7. 6.
728x90