Typescript

타입스크립트 문법 (타입)

fullkeem 2024. 5. 30. 18:38

1. 타입 추론(Inference)

추론 - 어떤한 판단을 근거로 삼아 다른 판단을 이끌어 냄.

 

1) 초기화된 변수

2) 기본값이 설정된 매개 변수

3) 반환 값이 있는 함수

 

let num = 12

function add(a: number, b=2) {
	return a + b
   }

 

2. 타입 단언(Assertion)

단언 - 주저하지 아니하고 딱 잘라 말함.

as 타입

 

Non-null 단언 연산자 - !

ex) el!.textContent = 'Hello world?!'

단, 타입 단언을 남발하게되면 값이 없음에도 문법상에는 에러가 뜨지 않아 문제가 생길 수 있으니 내용을 잘 이해하고 사용해야 한다.

 

const el = document.querySelector('body') 
el!.textContent = 'Hello world?!'


function getNumber(x: number | null | undefined) {
	return Number(x!.toFixed(2))
 }
 getNumber(3.1415926535)
 
 function getValue (x: string | number, isNumber : boolean) {
 	if (isNumber) {
    	return Number((x as number).toFixed(2))
    }
  return (x as string).toUpperCase()
  }
  getValue('hello world', false) // 'HELLO WORLD'
  getValue(3.1415926535, true) // 3.14
  
  //할당 단언
  
  let num!: number
  console.log(num) // undefined
  
  num = 123;

 

 

3. 타입 가드(Guards)

function logText(el: Element){
	console.log(el.textContent);
}

const h1El = document.querySelector('h1') 
if(h1El instanceof HTMLHeadingElement) { // true일때만 동작한다. 즉, h1El이 있을 때)
	logText(h1El)
 }