JavaScript 문법 그대로 적용가능 + 변수 자료형 정의
let str : string = 'abc';
let nums : number = 123;
let bool : boolean = true;
let nullvar : null = null;
일반적 타입 뿐 아니라 배열과 오브젝트에서도 가능
let arr : number[] = [1,2,3];
let obj : {num1 : number, num2 : number} = {num1 : 12, num2 : 34};
사실 타입이 자동으로 지정되기는 함!!
let str = 'abc';
let num = 123;
// 이렇게 선언, 할당 해도 마우스 올려보면
// 맞춰서 자료형이 잘 들어가있음을 확인할 수 있음!!
그런데 만약 변수에 여러 타입이 들어올 수 있는 상황이라면?
다양한 타입을 함께 지정해두는 union type 사용!!
let unionData : (number | string);
unionData = 123;
unionData = 'abc';
// 지정한 두 가지 타입 모두 할당 가능
배열이나 오브젝트에서는?
let unionArr : (number | string)[]
unionArr = [1, 'a', 2];
let unionObj : {data1 : number | string, data2 : string | number[]};
unionObj = {data1 : 1, data2 : [1,2,3]};
일반적으로 union type에 붙이는 소괄호는 선택사항이지만, 배열의 경우 주의가 요함
let unionArr1 : (number | string)[];
// 위의 의미는 (숫자 혹은 문자가 들어올 수 있는) => 배열
let unionArr2 : number | string[];
// 이 의미는 (숫자)이거나 (문자만!! 들어올 수 있는 배열)을 의미!!!
union type은 새로운 타입을 만드는 것으로, number타입이 들어올 수 있다 하더라도 수학적 연산 불가능!!
🌟 잘못된 부분에 대한 말씀은 언제나 저에게 큰 도움이 됩니다. 🌟
👍 감사합니다!! 👍