기본타입 | TypeScript, 코딩앙마
https://youtu.be/70w82P-KiVM
온라인 타입스크립트 테스트
https://www.typescriptlang.org/play
let carBrand:string = "Ford";
carBrand = 1; // Error!
let carNum:number = 7118;
let isCar:boolean = true;
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!
배열의 요소별 타입이 서로 다를 때
let a:[string, number];
a = ["asdf", 213];
a = [2, "asdf"]; // Error!
a[0].toLowerCase();
a[1].toLowerCase(); // Error!
: 함수에서 아무것도 반환하지 않을 때
function sayHello():void{
console.log("Hello world!");
}
: 항상 에러를 반환하거나 영원히 끝나지 않는 함수에 대해
function showError():never{
throw new Error();
}
function infLoop():never{
while(true){
// do something..
}
}
: 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!
let a:null = null;
let b:undefined = undefined;