유튜브 강의
Learn TypeScript – Full Tutorial
let variableName: type = value
type
- 소문자
변수 값 할당은 optional
타입을 선언하면 해당 타입 메서드만 사용할 수 있다.
타입이 너무 분명할 때 생략.
모든 곳에 : type
을 명시한다고 타입스크립트가 아니며 좋다고도 할 수 없다.
// number
let userId = 334455;
userId.toFixed();
타입 체크를 안한다.
// any
// typechecking 에러를 발생시키지 않는 값을 원할 때
let heroin;
function getHeroin() {
// return "Jane";
return true;
}
heroin = getHeroin(); // no error
에러는 없지만 이 예시에선 불리언 값을 리턴하는게 맞지않아보인다.
확실한 타입 명시가 필요.
let hero: string; function getHero() { // return "Thor" return false; } hero = getHero(); // error
화살표 함수 작성 예시
const getHello = (s: string): string => {
return "";
};
기본 값
// default value
let loginUser = (name: string, email: string, isPaid: boolean = false) => {};
loginUser("H", "h@h.com");
타입스크립트는 똑똑한 언어다. 굳이 타입을 명시하지 않아도 알아서 알아 듣는다.
const heros = ["thor", "spiderman", "ironman"];
//const heros = [1,2,3];
heros.map((h) => {
return `hero is ${h}`;
});
type User1 = {
readonly _id: string;
name: string;
email: string;
isActive: boolean;
};
let myUser1: User1 = {
_id: "1124",
name: "h",
email: "h@h.com",
isActive: false,
};
myUser1.email = "h@gmail.com";
myUser1._id = "1222"; // readonly 속성 에러
자주 하는 실수! wrapping 할 것
const data: (string | number)[] = [1, 2, "4"];
useful situation
let seatAllotment: "aisle" | "middle" | "window";
seatAllotment = "aisle";
// seatAllotment ="crew" // 에러!