[TS] 기초 개념 정리 (추가중)

hare·2023년 1월 17일
0

ts-tips

목록 보기
1/2

유튜브 강의
Learn TypeScript – Full Tutorial

let variableName: type = value

type - 소문자
변수 값 할당은 optional
타입을 선언하면 해당 타입 메서드만 사용할 수 있다.

타입 생략

타입이 너무 분명할 때 생략.
모든 곳에 : type 을 명시한다고 타입스크립트가 아니며 좋다고도 할 수 없다.

// number
let userId = 334455;
userId.toFixed();

any

타입 체크를 안한다.

// 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

function

화살표 함수 작성 예시

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 속성 에러

union

자주 하는 실수! wrapping 할 것

const data: (string | number)[] = [1, 2, "4"];

useful situation

let seatAllotment: "aisle" | "middle" | "window";
seatAllotment = "aisle";
// seatAllotment ="crew" // 에러!
profile
해뜰날

0개의 댓글