2022년 7월 13일

Daisy🌼·2022년 7월 13일
0

기본 타입

문자열

let str : string = 'apple'
str = 10 
// Type 'nunber' is not assignable to type 'string'.
// '숫자 타입은 문자열 타입에 할당할 수 없습니다.'

숫자

let num : number = 10
num = true 
// Type 'boolean' is not assignable to type 'number'.
// '불리언 타입은 숫자 타입에 할당할 수 없습니다.'

불리언

let bool : boolean = true
bool = 'apple'
// Type 'string' is not assignable to type 'boolean'.
// '문자열 타입은 불리언 타입에 할당할 수 없습니다.'

배열

const arr1 : number[] = [1,2,3]
const arr2 : string[] = ['apple', 'banana']
const arr3 = boolean[] = [true, false]

arr.push(true)
// Argument of type 'boolean' is not assignable to parameter of type 'number'.
// '불리언 타입의 argument(인수, 전달인자)를 숫자 타입의 parameter(매개변수)에 할당할 수 없습니다.'

객체

const obj1 : {
	name: string,
    age: number
} = {
	name: 'Daisy',
  	age: 25
}

obj.name = 10
// Type 'number' is not assignable to type 'string'
// '숫자 타입은 문자열 타입에 할당할 수 없습니다.'

obj.sayHello()
// 존재하지 않는 속성입니다.

옵셔널 프로퍼티

  • 객체의 프로퍼티를 선택적으로 가질 수 있습니다.

  • 옵셔널 프로퍼티를 지정하지 않았다면 객체는 반드시 타입으로 지정한 프로퍼티를 가지고 있어야 합니다. 만약 그렇지 않다면 에러가 발생합니다.

const obj1 : {
	name: string,
 	age?: number // age는 옵셔널 프로퍼티이므로 필수가 아닙니다.
} = {
	name: 'Daisy'
  	// age 프로퍼티를 선언하지 않아도 에러가 발생하지 않습니다.
}

타입 별칭

  • 타입에 별칭 즉 이름을 붙여 재사용할 수 있습니다.
// Person이라는 타입 별칭을 생성합니다.
type Person = {
	name: string,
  	age?: number
}

const obj1 : Person = {
	name: 'Daisy',
  	age: 25
}

const obj2 : Person = {
	name: 'Lee',
  	age: 20
}

❗️ 3줄 요약

  • 문자열, 숫자, 불리언, 배열에 대해서 명시적으로 타입을 지정할 수 있다.

  • 옵셔널 프로퍼티는 객체에서 선택적인 프로퍼티이다.

  • 타입 별칭은 이름(별칭)을 붙여 재사용하는 타입이다.

📕 참고 자료

노마드코더 - typescript-for-beginners

profile
커피와 재즈를 좋아하는 코린이 | 좋은 글 좋은 코드를 쓰고 싶습니다

0개의 댓글