Ts- 기본 문법

정호재·2023년 4월 6일
0

변수 선언 원시 타입

  • string : 문자열
  • number : 숫자
  • undefined : 정의 안됨
  • boolean : true / false
  • null : 비어있는 값 (참조를 명시적으로 제거한 상태)

let/const [변수명] : [타입] = 값

let 이름 :string = 'kim'

array 타입

let/const [변수명] : 타입[] = [값, 값...]

let 회원들 :string[]=['a','p',0]

object 타입

let/const [변수명] {key:타입, key:타입 ...} = { key : 값, key : 값 ...}

let 회원들 :{사원:string,인턴:string}={
  사원: '철수', 
  인턴: '민수'
}

union 타입

let/const 변수명 = 값
let/const [변수명] : (타입|타입|타입)[] = [값, 값...]

위와 같은 방식으로 타입 기존의 타입 자리에 union 타입 만들어 보면 됨

let 회원 :number | string | boolean = '새싹'

any 타입

: 사용시 더 이상 typescript의 추적에 들어가지 않아 js 같이 동작함 ==> ts의 의미가 없음(사용하지 말자)

unknown 타입

: any와 비슷하게 모든 타입 값을 넣어도 되지만, 다른 변수에 정의하는 것은 ts가 추적함

  • unknown은 숫자 값이 들어가도 number 타입이 아닌 unknown 타입으로 해석해 수학연산에 사용 불가능 --> any보다 나음
let 음식 : unknown;
음식 + 2// 에러남

ts에서의 타입 특징

  • 타입 간의 연산 엄격함
// 수학연산 예시
let 음식 : unknown;
음식 + 2// 문자열과 숫자간의 수학연산 에러남 
  • 유니온 타입의 이해
    (number | boolean)으로 변수들 타입 지정하면 수학연산 안됨
    why? 유니온 타입이지 number 타입이 아니라서
let 숫자 : (number | boolean)
let 다른숫자 : (number)
숫자 + 다른숫자 // 에러남

출처: 코딩애플, https://codingapple.com/course/typescript-crash-course/

profile
공부 일기장

0개의 댓글