TypeScript -2

박태영·2024년 5월 18일

typescript

목록 보기
2/9

TypeScript 문법 2

1. Readonly 속성

  • 읽기 전용 속성을 만든다.
type Player ={
	readonly name:string
}
const kim :Player = {name:"temp"};
kim.name = "tt" //error!

const intArr :readonly number[] =[1,2,3,4]
intArr.push(1) // error!

2. Tuple(튜플)

  • 튜플: 고정된 길이와 타입을 가진 배열
let array: number[] = [1, 2, 3]; // 배열: 모든 요소가 숫자
let tuple: [string, number, boolean] = ["Alice", 30, true]; // 튜플: 각 요소의 타입과 순서 고정

3. unknown 타입

const a :unknown;//unknown 타입은 해당 변수의 타입을 모를 경우에 선언한다

if(typeof a ==='number'){
	let b = a+1;
  //unknown으로 선언된 변수와 연산을 할때는 타입을 확인하는 과정이 있어야지만 가능하다.
}
  

4. TypeScript의 기타 타입들

const a :undefined = undefined;//undefined 타입
const b :null = null;//null 타입
const c :any=[1,2,3]; //any 타입으로 선언한 변수는 기존 자바스크립트와 같고 TypeScript가 제공하는 타입 보호를 받을 수 없다.

function printConsole(text):void{
	console.log(text);
  //void 타입은 아무것도 리턴하지 않는 함수의 리턴 타입이다.
}
function neverExample1():never{
	throw new Error("error");
  //never 타입은 논리적으로 불가능한 경우에 적용되는 타입이다.
}

function neverExample2(value:string|number){
  if(typeof value=== 'string'){
    value //타입은 string
  }else if (typeof value ==='number'){
  	value //타입은 number
  }else{
  	value //타입은 never (value의 타입은 string이거나 number 이거나 둘중 하나인데 둘다 아닌 경우는 없으므로 never)
  }

    
    
}
profile
어른 아이

0개의 댓글