TS: 기본 타입_12.13

송철진·2022년 12월 13일
0

Final Project

목록 보기
3/8

기본타입 | TypeScript, 코딩앙마
https://youtu.be/70w82P-KiVM

온라인 타입스크립트 테스트
https://www.typescriptlang.org/play

string

let carBrand:string = "Ford";

carBrand = 1; // Error!

number

let carNum:number = 7118;

boolean

let isCar:boolean = true;

array

let carNumbers:number[] = [1111,2222,3456];
let carNums:Array<number> = [1111,2222,3456];
let carBrands:string[] = ["Ford", "Hyundai", "Benz"];
let carBras:Array<string> = ["Ford", "Hyundai", "Benz"];

carNumbers.push("Tesla"); // Error!

튜플(Tuple);

배열의 요소별 타입이 서로 다를 때

let a:[string, number];

a = ["asdf", 213];
a = [2, "asdf"]; // Error!

a[0].toLowerCase();
a[1].toLowerCase(); // Error!

void

: 함수에서 아무것도 반환하지 않을 때

function sayHello():void{
	console.log("Hello world!");
}

never

: 항상 에러를 반환하거나 영원히 끝나지 않는 함수에 대해

function showError():never{
	throw new Error();
}

function infLoop():never{
	while(true){
    	// do something..
    }
}

enum

: ts에서 다음과 같이 선언하면 자동으로 숫자가 0부터 할당되며
js 화면단에서 숫자가 양방향 매핑이 되어있다는 걸 확인할 수 있다.

// ts
enum Os {
    Window, // 마우스를 가까이 대면 0
    Ios,	// 1 
    Android // 2
}

/* ---------------js----------------
"use strict";
var Os;
(function (Os) {
    Os[Os["Window"] = 0] = "Window";
    Os[Os["Ios"] = 1] = "Ios";
    Os[Os["Android"] = 2] = "Android";
})(Os || (Os = {})); */

console.log(Os[0]);	// "Window"
console.log(Os["Window"]); // 0

또 직접 숫자를 할당하면

enum Os {
    Window = 3, // 마우스를 가까이 대면 3
    Ios = 10,	// 10 
    Android 	// 11 -> 자동으로 counting됨
}

문자열도 할당할 수 있지만 단방향 매핑만 된다

enum Os {
    Window = "win",
    Ios = "ios",
    Android = "and"
}

/* ---------------js----------------
"use strict";
var Os;
(function (Os) {
    Os["Window"] = "win";
    Os["Ios"] = "ios";
    Os["Android"] = "and";
})(Os || (Os = {}));
*/

변수 myOs에 Os 타입을 선언해두면 enum으로 지정한 Window, Ios, Android만 입력할 수 있게 된다

  • enum은 특정 값만 입력하고 싶을 때, 그 값들이 뭔가 공통점이 있을 때 사용`
enum Os {
    Window = "win",
    Ios = "ios",
    Android = "and"
}
let myOs:Os;

myOs = Os.Window;
myOs = 1; // Error!

null, undefined

let a:null = null;
let b:undefined = undefined;
profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글