본문 바로가기

JS/TypeScript

타입스크립트 union

타입스크립트 1.4는 프로그램에 하나 또는 두개의 타입을 합칠 수 있는 능력을 줬다. union 타입은 여러 타입이 하나가 될 수 있는 값을 표현할 수 있는 강력한 방식이다. 두개 이상의 자료형이 union 타입을 의미하는 파이프 기호 ( | ) 를 써서 합쳐질 수 있다. 다른 말로, union 타입은 수직 바에 의해 나뉘어진 일련의 타입으로 쓰여진다.


문법

Type1|Type2|Type3 


var val:string|number 
val = 12 
console.log("numeric value of val "+val) 
val = "This is a string" 
console.log("string value of val "+val)

위 예에서 변수의 타입은 union이다. 변수가 숫자, 문자열을 변수의 값으로 가질 수 있다.

var val;
val = 12;
console.log("numeric value of val " + val);
val = "This is a string";
console.log("string value of val " + val);

출력

numeric value of val  12 
string value of val this is a string 


union 타입과 함수 인자

function disp(name:string|string[]) { 
   if(typeof name == "string") { 
      console.log(name) 
   } else { 
      var i; 
      
      for(i = 0;i<name.length;i++) { 
         console.log(name[i])
      } 
   } 
} 
disp("mark") 
console.log("Printing names array....") 
disp(["Mark","Tom","Mary","John"])

disp()함수는 문자열 또는 문자열 배열 둘 다를 인수로 허용한다.

function disp(name) {
   if (typeof name == "string") {
      console.log(name);
   } else {
      var i;
      for (i = 0; i < name.length; i++) {
         console.log(name[i]);
      }
   }
}

disp("mark");
console.log("Printing names array....");
disp(["Mark", "Tom", "Mary", "John"]);

출력

Mark 
Printing names array…. 
Mark 
Tom
Mary
John 



union 타입과 배열

union타입은 배열, 속성, 인터페이스에도 적용될 수 있다. 다음은 배열과 함께 union 타입을 사용하는 방법을 설명한다.

var arr:number[]|string[]; 
var i:number; 
arr = [1,2,4] 
console.log("**numeric array**")  

for(i = 0;i<arr.length;i++) { 
   console.log(arr[i]) 
}  

arr = ["Mumbai","Pune","Delhi"] 
console.log("**string array**")  

for(i = 0;i<arr.length;i++) { 
   console.log(arr[i]) 
} 

프로그램은 배열을 선언한다. 배열은 숫자, 문자열을 둘 다 표현할 수 있다.

var arr;
var i;
arr = [1, 2, 4];
console.log("**numeric array**");

for (i = 0; i < arr.length; i++) {
   console.log(arr[i]);
}
arr = ["Mumbai", "Pune", "Delhi"];
console.log("**string array**");

for (i = 0; i < arr.length; i++) {
   console.log(arr[i]);
}

출력

**numeric array** 
1 
2 
4 
**string array** 
Mumbai 
Pune 
Delhi


https://www.tutorialspoint.com/typescript/typescript_union.htm