본문 바로가기

JS/TypeScript

타입스크립트 튜토리얼 tuple

때로는 다양한 타입의 값의 모음을 저장할 필요가 있다. 배열은 이런 목적을 수행하지 않는다. 타입스크립트는 이러한 목적을 달성하는 데 도움이 되는 튜플이라는 자료형을 제공한다.


자료형이 다른 값의 모음을 나타낸다. 튜플은 함수에 인자로써 전달될 수 있다.


문법

var tuple_name = [value1,value2,value3,…value n]

var mytuple = [10,"Hello"];

비어있는 튜플을 선언하고 나중에 초기화할 수 있다.
var mytuple = []; 
mytuple[0] = 120 
mytuple[1] = 234


튜플에서 값 접근

튜플 값들은 각각 아이템이라고 불린다. 튜플은 인덱스 기반이다. 튜플에 있는 값이 그들과 대응되는 숫자 인덱스를 써서 접근이 가능함을 의미한다. 튜플 아이템의 인덱스는 0부터 시작해서 n-1(n은 튜플의 크기)로 확장한다.


문법

tuple_name[index]

간단한 튜플
var mytuple = [10,"Hello"]; //create a  tuple 
console.log(mytuple[0]) 
console.log(mytuple[1])

mytuple이 선언되고 숫자형과 문자열형의 값을 각각 포함한다.


빈 튜플

var tup = [] 
tup[0] = 12 
tup[1] = 23 

console.log(tup[0]) 
console.log(tup[1])


튜플 동작

타입스크립트의 튜플은 새 아이템 삽입, 아이템 삭제, 등의 다양한 동작을 지원한다.

var mytuple = [10,"Hello","World","typeScript"]; 
console.log("Items before push "+mytuple.length)    // returns the tuple size 

mytuple.push(12)                                    // append value to the tuple 
console.log("Items after push "+mytuple.length) 
console.log("Items before pop "+mytuple.length) 
console.log(mytuple.pop()+" popped from the tuple") // removes and returns the last item
  
console.log("Items after pop "+mytuple.length)

push()는 튜플에 아이템을 추가(튜플 맨 마지막 인덱스에)하는 것이다.

pop()은 튜플의 마지막 아이템을 삭제하는 것이다.

Items before push 4 
Items after push 5 
Items before pop 5 
12 popped from the tuple 
Items after pop 4


튜플 갱신

튜플이 변하기 쉽다는 것은 튜플 요소의 값을 갱신하거나 바꿀 수 있다는 의미이다.

var mytuple = [10,"Hello","World","typeScript"]; //create a  tuple 
console.log("Tuple value at index 0 "+mytuple[0]) 

//update a tuple element 
mytuple[0] = 121     
console.log("Tuple value at index 0 changed to   "+mytuple[0])
Tuple value at index 0 10 
Tuple value at index 0 changed to 121


튜플 비구조화

파괴는 엔티티의 구조를 해체하는 것을 의미한다. 타입스크립트는 튜플이 문맥에서 사용될 때 비구조화를 지원한다.


var a =[10,"hello"] 
var [b,c] = a 
console.log( b )    
console.log( c ) 
var a = [10, "hello"];
var b = a[0], c = a[1];
console.log(b);
console.log(c);
10 
hello


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