TypeScript - 1

박태영·2024년 5월 18일

typescript

목록 보기
1/9

TypeScript?

  • 기존 자바스크립트에 타입 안정성을 위한 기능을 추가함
  • JavaScipt 가 허용하는 타입 변환으로 생기는 에러를 막음
  • TypeScript로 작성된 코드는 JavaScipt로 변환되어 실행된다.

javascript 가 가지는 문제점들

//1.-------------------------

[1,2,3,4]+false
// '1,2,3,4false' (array가 string으로,boolean이 string으로 바뀌어 붙음)

//2.-------------------------

function divide(a,b){
  return a/b;
}

divide("xxxxx")
//NaN (함수의 잘못된 실행을 막아주지 않음)

//3.-------------------------

const temp = {"apple":10}
temp.apple();
//Uncaught type Error temp.banana is not a function ( 존재하지 않는 프로퍼티의 실행을 막지 않음- 런타임 에러 발생)

TypeScirpt 문법

const a = "temp";// 자동으로 string 타입으로 간주됨
const b : number = 2 // 명시적으로 타입을 선언함
const c : number[] = [1,2,3] // array 타입과 값의 타입
const d : {
	name:string,
  	age?:number //(오브젝트 타입 정의,age가 존재하거나 없을수도 있으면 ?를 뒤에 붙이면 된다)
} = {name:"temp"}

type Player ={
  name:string,
  age?:number
}//반복사용되는 타입은 따로 만들어 재사용 가능하다. 

const e :Player = {name:"poppy"};

type Age = number; //타입에 별명(Alias)을 주는것도 가능하다.
const f:Age = 3;

function playerMaker(name:string):Player{
	return{
    	name
    }
} //함수의 리턴타입은 중괄호 전에 타입을 작성하면 된다.

function playerMaker(name:string) :Player=>({name}) //화살표 함수의 경우 리턴타입 작성 방법
profile
어른 아이

0개의 댓글