개발공부/타입스크립트
타입스크립트 시작하기 - 환경설정, 기본타입, 함수
jennayeo
2021. 6. 28. 23:52
type-script 컴파일러 설치하기
npm install typescript -g
hello.ts 파일 생성 후 터미널에 tsc hello.ts 코드로 명령하면,
타입스크립트를 컴파일해서 자바스크립트 파일을 만들어준다.
타입스크립트 환경 설정
폴더 생성하기
mkdir [폴더명]
package.json 파일 생성하기
yarn init -y
타입스크립트, ts-node 패키지 추가설치
ts-node는 콘솔에서 바로 실행할 수 있도록 해준다.
yarn add typescript ts-node
프로젝트의 타입스크립트 설정 완료 -> tsconfig파일 생성됨
yarn run tsc --init
es6를 혹시 사용하고싶다면 target을 es6로 수정해준다.
초기엔 주석처리되어있는 "outDir"은 컴파일된 파일을 어디에 저장할지 정한다.
주석처리되었을땐 ts파일이 담겨있는 곳에 자동저장된다. 이젠 dist폴더에 저장되도록 수정하였다.
타입 스크립트 파일 생성
src폴더를 만들고 ts파일을 만들어주었다.
// practice.ts
const message: string = "hello world";
console.log(message);
message란 변수는 string타입만 담을 수 있다.
'hello world'가 아닌 숫자를 넣을 경우엔 에러가뜬다.
yarn run tsc
만든 파일의 결과물 실행
node ./dist/practice.js
기본타입
let count = 0;
count += 1;
count = 'hello'; // count는 number타입을 자동 설정해주기때문에 에러가 난다
const message: string = 'hello world';
const done: boolean = false;
const numbers: number[] = [1,2,3];
const messages: string[] = ['hello', 'world'];
message.push(1); // 문자열에 1을 넣으려하니 에러발생
// 특정 값이 undefiend일수도있고 문자일수도 있을땐
let mightBeUndefiend: string | undefined = undefined;
// 특정 값이 널일수도있고 숫자일수도있다면
let nullableNumberr: number | null = null;
// red, orange, yello 중 하나일때
let color: 'red' | 'orange' | 'yellow' = 'red';
함수
sum함수를 만드는데, x, y값의 타입을 선언해주지않았다며 에러가난다.
// 각 파라미터의 타입과 함수의 결과물의 타입도 정해줄 수 있다.
function sum(x: number, y: number): number {
return x + y;
}
숫자배열을 파라미터로 가져와 총합을 구하는 함수
// numbers의 타입은 number의 배열
function sumArray(numbers: number[]): number {
return numbers.reduce((acc, current) => acc + current, 0);
}
const total = sumArray([1, 2, 3, 4, 5]);
console.log(total);
// 잘뜨는지 콘솔 바로 확인
yarn run ts-node ./src/practice.ts
함수에서 아무것도 반환하지않는다면 반환타입은 void로 설정된다.
함수 반환타입이 문자 또는 숫자일때
function returnStringOrNumber(): string | number {
return 'hello';
}
returnStringOrNumber();
강의: <<벨로퍼트와 함께하는 모던 리액트>> by 강사 김민준 님