- 왜 타입스크랩트를 써야하나.
- TypeScipt 기초
- 함수 타입을 정의하자
- interface를 활용하자
- 타입 별칭이란?
- 연산자를 이용한 타입 정의 - 유니온 타입
- enum
- class
- generic
- promise Types
- todolist 만들어보기
- 디버깅
목차
Enum이 뭐하는거야?
- 이넘은 특정 값들의 집합을 의미하는 자료형이다
- 문자형 이넘과 숫자형 이넘이 존재한다.
enum Shoes {
Nike,
Adidas,
Fuma = 10,
}
숫자형 이넘의 예제
var myShoes = Shoes.Nike;
console.log(myShoes); //0이 출력이 된다
var yourShoes = Shoes.Adidas;
console.log(yourShoes); //1이 출력이 된다
var friendsShoes = Shoes.Fuma;
console.log(yourShoes); //10이 출력이 된다
- 왜 0이 출력이 되는가?
- enum을 사용할 경우 특정 값을 지정해주지 않으면 0으로 초기화된다.
- 목록이 추가될수록 인덱싱화되어 숫자가 1이 증가한다
문자형 이넘
enum GoodShoes {
Nike = "나이키",
Adidas = "아디다스",
}
var goodMyShose = GoodShoes.Nike;
console.log(goodMyShose); // "나이키"
"use strict";
var GoodShoes;
(function (GoodShoes) {
GoodShoes["Nike"] = "\\uB098\\uC774\\uD0A4";
GoodShoes["Adidas"] = "\\uC544\\uB514\\uB2E4\\uC2A4";
})(GoodShoes || (GoodShoes = {}));
var goodMyShose = GoodShoes.Nike;
console.log(goodMyShose); // "나이키"
문자형 이넘 예제
enum Answer {
Yes = "Y",
No = "N",
}
function foo(test: Answer) {
if (test === Answer.Yes) {
console.log("Yes");
}
if (test === Answer.No) {
console.log("no");
}
}
// foo("예스");
// foo("y");
// foo("yes");
foo(Answer.Yes);
// foo(Yes);
foo(Answer.No);
// enum에서 제공하는 데이터만 입력이 가능하다.