[TS] TypeScript 타입

서준·2023년 7월 27일
1

TypeScript

목록 보기
2/2
post-thumbnail

기본타입

number

  • 보통 일반적인 프로그래밍 언어에서 정수는 short, int, long, 실수는 float, double을 사용한다.
  • 하지만, TypeScript에서는 number 타입이 정수, 실수 뿐 아니라 2, 8, 16진수까지 표현할 수 있어 하나로 충분하다.
  • 모든 수치 연산에 사용되는 값은 number 타입으로 명시를 해야한다.
	let a: number
    a = 3;
	a = "3"; // error

string

  • string 타입은 문자열 데이터를 나타낸다.
  • 작은 따옴표(’), 큰 따옴표(”), 백쿼트(`) 를 사용
	let name : string = 'seojun'
	name = seojun //error

`

boolean

  • 두가지 상태를 담고 싶은 변수에 사용한다.
  • 3가지 이상은 enum 이나 string 으로 사용한다.
  • boolean 타입은 참(true) 또는 거짓(false) 값이다.
	let age: number = '25'
	let isAdult:boolean = true;
	

Array

array 자료안에 들어갈 타입은 타입명[]으로 지정하면 된다

	let a: number[] = [1,2,3]
	let a2: Array<number> = [1,2,3]
	let fruits: string [] = ["apple", "bannna", "grape"]
	
	fruits.push(3) // error 
	function showItems(arr: number[]){
      arr.forEach((item) => console.log(item);
       });           
    }
    
    showItems([1,2,3]); 
	showItems(['1','2','3']);

Object

  • object 자료안에 들어갈 타입은 선언한 object와 똑같은 모습으로 지정하면 된다.

  • 변수명 오른쪽에 오는 것들은 전부 타입지정 문법입니다.

	let info : { age : number } = { age : 20 }

tuple(튜플)

  • 튜플은 서로 다른 타입의 원소를 순서에 맞게 가질 수 있는 특수한 형태의 배열이다.
  • 배열은 number[], string[] 처럼 같은 타입의 원소만 가질 수 있었지만 튜플은
    어떤 타입의 원소를 허용할 것인지 정의만 해주면 허용된 타입의 데이터를 저장할 수 있다.
const person: [string, number, boolean] = ['Spartan', 25, false];
const person2: [string, number, boolean] = [25, 'Spartan', false]; // error
  • 그러나 타입의 순서가 정의와 일치해야 하며, 들어오는 데이터의 개수도 맞춰야한다.

enum(열거형 데이터 타입)

  • enum은 명확하게 관련된 상수 값들을 그룹화 하고자 할 때 사용한다.
  • 다양한 상수를 이름으로 접근하고 사용한다.
    enum 안에 있는 각 요소는 값이 설정되어 있지 않으면 기본적으로 숫자 0 으로 시작한다.
    enum 안에 있는 요소에는 number 혹은 string 타입의 값만을 할당할 수 있다.
  • enum 안에 있는 각 요소는 값이 설정되어 있지 않으면 기본적으로 숫자 0으로 시작한다.

  • 요소의 값을 설정하면 다음 변수는 설정한 요소의 값을 반영한다

타입을 지정하지 않는다면?

위에서 타입 지정하는 것을 살펴보았습니다. 하지만 모든 변수에 타입을 지정하려고 한다면 여간 귀찮은 일이 아닐겁니다. 그렇기에 타입스크립트는 변수 생성시 타입스크립트가 타입을 자동으로 부여해줍니다.

보시다싶이 문자열인 '서준'을 담고 있는 변수 myName에 따로 string 타입을 지정하지 않았음에도 변수 myName을 확인하면 자동으로 타입이 string으로 지정된 것을 볼 수 있습니다.

profile
하나씩 쌓아가는 재미

1개의 댓글

comment-user-thumbnail
2023년 7월 28일

타입스크립트에 대한 무서움을 조금 해소할 수 있는 글이였어요. 잘읽었어요~

답글 달기