Typescript 필수문법

김범주·2022년 7월 11일
0

typescript

목록 보기
1/23
post-thumbnail
let 이름 :string = 'kim'
let 이름 :string[] = ['kim', 'park']
let 나이 :{ age : number } = { age : number }
let 이름 :string | number = 'kim';

변수명 :타입명으로 작성
타입으로는 string, number, boolean, undefined, [], {} 등이 존재
string | number 는 uniontype
(단 uniontype은 연산에서 narrowing 필수)

type MyObject = {
  name? : string,
  age : number
}
let 철수 :MyObject = { 
  name : 'kim',
  age : 50
}
--------------------------------------------------------------------------------
type MyObject = {
  [key :string] : number,
}
let 철수 :MyObject = { 
  age : 50,
  weight : 100,
}

type에 ?이 붙으면 선택사항, 예를 들어 name? :string 일 경우 string | undefined와 동일!
object안의 속성이 미정이라면 [key :string] :number 같은 지정도 가능

function 함수명(x :number | string) {
  if (typeof x === 'number'){
    return x * 2
  } 
}

함수는 파라미터와 return값의 타입을 지정, 여기서 return값을 void로 선언하면 return 값이 없어도 에러가 나지 않음

class Person {
  name;
  constructor(name :string){
    this.name = name;
  }
}

class도 type 설정이 가능

let 이름: any = 'kim';
이름 = 123;
이름 = undefined;
이름 = [];

any 타입을 사용하면 아무 자료나 사용할 수 있음
☆실드해제☆
하지만 any 타입을 사용하는 건 typescript를 사용하는 이유가 없어짐

let 이름: unknown = 'kim';
이름 = 123;
이름 = undefined;
이름 = [];

any 타입보다는 안전한 unknown, 역할은 비슷하지만 unknown은 unknown이라는 타입을 유지하므로 다른 곳에 사용하려고 할 때 에러가 발생함(any는 x!)

profile
개발꿈나무

0개의 댓글