
- 높은 수준의 코드 탐색과 디버깅 : 사전에 에러를 발생시켜 버그 제거
- 자바스크립트와의 호환
- 강력한 생태계 (대부분의 라이브러리 TS 지원 및 VSCode)
- 점진적 전환: 특정 기능에만 TS 도입 가능
- 유지보수의 용이성과 개발의 편리성 (VSCode의 자동완성, 협업에 유리)
index.js)function sum(a:number, b:number): number{
return a + b;
}
console.log(sum(10,20))
NPM 설정 파일 생성 및 타입스크립트 설치하기
npm init -y
npm install typescript -D
타입스크립트 컴파일 명령어 실행하기
npx tsc index.ts
변수 뒤에
:를 붙이고 그 뒤에타입 이름을 추가
자바스크립트의 문자열을 의미하는 타입
const name : string = 'hyein';
특정 변수가 숫자만 취급된다면 사용하는 타입
let age: number = 25;
진위값만 취급하는 변수
let isLogin: boolean = false;
객체 유형의 데이터 취급 시 사용
const hero: object = {name: 'captain', age:100};
제네릭 타입
let cards : Array<number> = [1,2,3,4];
배열의 요소를 나타내는 타입 뒤에[]사용
let cards:number[] = [1,2,3,4];
요소의 타입과 개수가 고정된 배열
let item: [string, number] = ['hi', 1];
아무 데이터나 취급하겠다는 의미, 알지 못하는 타입 표현에 사용
모든 타입의 하위 타입, 자신의 타입이름임
특정 값의 집합(상수)를 의미하는 타입,
enum은0부터 시작함enum Color (Red = 1, Green, Blue); const colorName : string = Color[2]; console.log(colorName) //Green
결과 값을 반환하지 않는 함수에 설정, return 값이 없거나, 있음에도 반환값이 없는 경우
function warn():void { console.log('this is warning!); }
함수의 끝까지 절대 도달할 수 없는 함수의 타입
어떠한 값도 가질 수 없는 함수도 포함됨 따라서,any,null,undefined등 모두 할당 불가function isWillNotFinish():never{ while(true){ ~~ } }
function throwError():never{
throw new Error(~)
}
항상 React로만 프로젝트를 시작해왔어서, only typescript 만으로 개발 환경 세팅 하는 과정을 유의깊게 봤던 거 같습니다.
또한, 다른 언어들과 비교했을때 Type에서 조금 더 ts만의 특징이 잘 나타내어 지는거 같아, 그 부분도 흥미로웠던 거 같아요 !
그리고, 저번 강의때 enum에 대해서 많이 사용해본 적이 없어서 어색하시다는 말에 저도 enum에 대해서 열심히 찾아보았는데요 !! 그러다가 흥미로운 사실을 발견한게, 대부분의 사람들의 enum을 사용하지 말라! 라는 내용을 작성해두었더라고요. 함께 보면 좋을 거 같아 한 블로그를 공유합니다 !
https://velog.io/@sensecodevalue/Typescript-Enum-%EC%99%9C-%EC%93%B0%EC%A7%80-%EB%A7%90%EC%95%84%EC%95%BC%ED%95%98%EC%A3%A0
좋은 아티클 내용 감사합니다 ! 앞으로도 꾸준히 챙겨볼게요 !🔥
react같은 프레임워크 위에서 typescript를 사용할 땐 자바스크립트 코드로 변환되어 실행한다는게 모호했는데 직접 js로 변환해보니 ts의 컴파일 과정을 직관적으로 볼 수 있어 유익했습니다!! 직접 해보니 typescipt 컴파일러나 바벨 같은 컴파일러들에 대해 공부해보고 싶어졌어요ㅎㅎ 시험끝나고 꼭..!!
never 타입 ! 을 처음 본 듯 하여 .. 이게 대체 무엇인가 하고 찾아보았는데 숫자 체계의 불가능을 0으로 나타내듯 문자 체계에도 불가능을 나타내는 타입 never라고 하네요!
글이 귀엽고 고양이가 유익해요