-
타입스크립트 프로그래밍-2프론트엔드/리엑트 2023. 2. 14. 13:38728x90
타입 시스템
● 타입시스템(typesystem):
타입 검사기가 프로그램에 타입을 할당하는 데 사용하는 규칙 집합
타입시스템은 보통 두가지로 분류된다.
명시적으로 알려주는 타입시스템, 자동으로 타입을 추론하는 타입시스템
타입스크립트는 개발자가 직접 선택할 수 있다.
어노테이션을 이용하면 타입스크립트에 명시적으로 타입을 지정할 수 있다.
어노테이션은 'value:type' 형태로 쓰이며 타입검사기에
value는 타입은 type이야. 라고 알리는 역할을 한다.
● 어노테이션을 사용하여 명시적으로 타입을 알려줄 때
let a : number = 1 // a는 number
let b: string = 'hello' // b는 string
let c : boolean[] = [true,false] // c는 boolean 배열
● 자동으로 타입을 추론하는 타입시스템
let a = 1 // a는 number
let b = 'hellp' // b는 string
let c = [true,false] // c는 boolean 배열
=> 어노테이션을 사용하지않아도 타입지정 결과는 달라지지않는다.
코드의 간결성을 위해 어노테이션은 보통 생략해준다.
자바스크립트와 타입스크립트의 타입 시스템 비교 ● 타입을 결정하는 방법
동적 타입 바인딩(dynamic type binding)이란 자바스크립트가 프로그램을 실행해야만
특정 데이터의 타입을 알 수 있음을 의미한다.
● 언제 타입을 검사하는가?
컴파일 타임에 코드의 타입을 확인하기 때문에(위의 표를 참고) 코드를 실행하지 않고도 이전 예제 코드에
에러가 있음을 바로 알 수 있다. 코드를 실행하기 전에 알려준다.
코드가 컴파일되지 않는 다는 사실은 개발자가 실수를 저질렀음을 뜻한다.
3 + [1]
=> 에러: [ts] Operator '+' cannot be applied to types '3' and 'number[]' . [2365]
● 에러가 검출되는 시점
타입스크립트는 컴파일 타임에 문법 에러와 타입 관련 에러를 모두 검출한다.
자바스크립트에서 런타임 에러로 발생했을 많은 에러를 타입스크립트는 컴파일 타임에 검출할 수 있다는 장점이있다.
코드 편집기 설정
● tsconfig.json
모든 타입스크립트 프로젝트는 루트 디렉터리에 tsconfig.json 파일이 존재해야한다.
프로젝트에서 어떤 파일을 컴파일하고, 어떤 자바스크립트 버전으로 방출하는지 등을 정의해준다.
● tslint.json
탭을 사용할지 공백을 사용할지 등을 결정하는 코딩 스타일 규약
tslint는 선택 사항이지만 일관된 코딩스타일을 사용하도록 적극권장.
출처: 타입스크립트 프로그래밍 책.
728x90'프론트엔드 > 리엑트' 카테고리의 다른 글
타입스크립트 프로그래밍 -4 (0) 2023.02.20 타입스크립트 프로그래밍-3 (0) 2023.02.17 타입스크립트 프로그래밍-1 (0) 2023.02.14 리엑트-렌더링이란? (0) 2023.02.09 리엑트 모달창 drag구현! (0) 2023.02.08