TypeScript 기초 - 기본타입

da.circle·2022년 12월 3일
0

TypeScript

목록 보기
2/7
post-thumbnail

Any

  • 어떤 타입이든 올 수 있다.
  • 원래 자바스크립트 코드와 같다.
  • 쓰지 않도록 주의할 것..(any를 쓸거면 자바스크립트를 쓰는것과 뭐가 다른거죠..?)
let a: any;

a = "a";
a = 1;
a = [1,2,3]

void

  • 어떤 타입도 없다!
  • 함수에서 반환값이 없는 경우
function sayHi(): void {
	alert("Hi");
}

Enum

  • 이름이 정해진 값의 세트..
  • 상수로 된 세트 값이 필요할 때 사용한다.
enum Name {
	Kim,
  	Lee,
  	Park
}

let friends: Name = Name.Kim; 
  • Name이라는 enum에 Kim, Lee, Park가 있다.
  • friends는 Name타입이다.
  • friends는 Name의 값 중 하나를 가질 수 있다.
  • 특정 값이 없는 enum은 0이 저장된다.
console.log(Name.Kim); //0
console.log(Name.Lee); //1
console.log(Name.Park); //2
  • 특정 값이 없으면 0부터 차례대로 값을 가진다.
enum Name {
	Kim = 'code',
  	Lee = 'nabi',
  	Park = 'jisung'
}
let friends: Name = Name.Kim; 
console.log(friends) //code

union

  • |
  • or
  • 여러 타입을 지정할 때 사용한다.
function sayMyId(id: string | number): string {
	return `안녕하세요, ${id}님. 환영합니다.`
}

console.log(sayMyId("KimCode")); //안녕하세요, KimCode님. 환영합니다. 
console.log(sayMyId(12)); //안녕하세요, 12님. 환영합니다.

Tuple

  • 데이터를 순차적으로 저장할 수 있다.
  • 배열에 두개 이상의 타입을 사용하고 싶을 때 사용한다.
let myArr: [string, number] = ['안녕',1];

→ myArr의 첫번째 값은 string타입, 두번째 값은 number타입이어야 한다.

  • myArr에 string타입의 값만 넣는다면?
let myArr: [string, number] = ['안녕'];

  • tuple로 배열 만들기
let arrs: [string, number][];
arrs = [["a",1],["b",2],["c",3]];

Tuple vs Union

  • 배열에서 여러타입의 값을 사용하고 싶다?
    // union
    let unionArr: (number | string)[] = [1,2];
    unionArr.push("hi");
    //tuple
    let tupleArr: [number, string] = [1,"hello"];
    → union : 사용하고자 하는 타입 중 하나만 있어도 된다.
    → tuple : 배열의 요소에 정의한 타입이 모두 들어가야 한다.

Type Alias

  • 타입 별칭
  • 타입을 재사용하거나 객체 타입을 지정할 때 많이 사용한다.
type ID = string | number;

function getMyData(info: {id: ID; pw: string}){
	로직~~
}

let id ID = "아이디";
getMyData({id, pw: "myPass"});

type ID = string | number;

type Info = {
	id: ID;
    pw: string;
}

function getMyData(info: Info){
	로직~~
}

let id ID = "아이디";
getMyData({id, pw: "myPass"});
  • 이렇게 객체를 위한 타입을 만들어 줄 수 있다! (info의 타입인 Info)

Type Interface

  • 타입스크립트는 컴파일러가 변수에 할당된 값을 보고 타입을 추측한다.
  • 필요없는 타입을 정의하는건 생략할 수 있지만, 유지보수를 위해서는 타입을 정의하는 것이 좋다.
let myArr = [1,2,3];
myArr.push('4입니다');


→ myArr에는 숫자만 할당되어 있어서 자동으로 number[]타입으로 인식한다.

profile
프론트엔드 개발자를 꿈꾸는 사람( •̀ ω •́ )✧

0개의 댓글