TypeScript 문법1

Jay·2021년 2월 19일
0

practice.ts 를 만들어 연습해본다.

tsconfig에서 target을 es5로 넣으면 const를 못쓰고 var로 컴파일 된다.
es6 or es2015를 넣게된다면 const가 그대로 유지된다.

에러를 내준다.

const message:string = 'hello world' // ok
const message:string = 1 // err

tsc practice.ts

타입을 따로 선언 안해도 된다.

let count = 0 // 타입 선언 안해도 오류 잡아줌
count += 1 ;
count = "문자열" //오류

기초문법

const message: string = "hello"
const done: boolean = "true"
const numbers: number[] = [1,2,3]
const messages:string[] = ["hello","world"]
//messages.push(1) // 당연히 불가능(숫자를 넣으려해서)

응용문법

let mightbeUndefined: string | undefined = undefined //o
let mightbeUndefined: string | undefined = "ddsfds" //o

let nullableNumber: number |null = null
let nullableNumber: number |null = 1

let color: "red"|"orange"|"blue" = "red"
color = "black "// 불가 , 위에 명시된 세가지중 하나 가능 

함수

function sum(x:number,y:number):number{
  return x + y;
} //타입 설정안하면 :any로 설정된다, 그래도 왠만하면 설정해주자
// 파라미터 괄호가 끝난 뒤의 :number는 결과값이 number여야 된다... 라는 의미

function sumArray(numbers: number[]):number {
 return numbers.reduce((acc,cur)=> acc + cur,0) 
}

const total = sumArray([1,2,3,4,5]) 
console.log(total) // 15로 잘 출력된다.

fuction returnNothing() {
 console.log("헤헤헤")  
}//타입을 명시 안하면 반환타입이 void 로 설정됨

function returnNothing():void {
  console.log("헤헤헤")
  return true
}// 오류발생 return 타입이 void 이기 때문

function numOrStr():string|number {
 return "asdf" // or return 1 
} // 반환타입을 string or number 둘중 하나로 설정했다.

오류를 해소해줘야 컴파일이 된다.

profile
programming!

0개의 댓글