.png)
📖 전예홍, ⌈Do it! 타입스크립트 프로그래밍⌋, 이지스퍼블리싱, 2021
let ai: {
name: string
age: number
etc?: boolean
} = {name: 'Iris', age: 24}
function printMe(me: {name: string, age: number, etc?: boolean}) {
console.log(
me.etc ?
`${me.name} ${me.age} ${me.etc}` :
`${me.name} ${me.age}`
)
}
printMe(ai) // Iris 24
class Person {
constructor(public name: string, public age?: number) {}
}
let iris : Person = new Person('Iris', 24)
console.log(iris) // Person { name: 'Iris', age: 24 }
let address: any = {
country: 'Korea',
city: 'Seoul',
address1: 'Gangnam-gu',
address2: 'Sinsa-dong'
}
const {country, city, ...detail} = address
console.log(detail)
// 실행 결과
{ address1: 'Gangnam-gu',
address2: 'Sinsa-dong' }
let part1 = {name: 'jane'}, part2 = {age: 22, city: 'Seoul'}
let merged = {...part1, ...part2}
console.log(merged)
// 실행 결과
{ name: 'jane', age: 22, city: 'Seoul' }
export default interface INameable {
name: string
}
import INameable from './INameable'
let obj: object = {name: 'Iris'}
let name1 = (<INameable>obj).name
let name2 = (obj as INameable).name
console.log(name1, name2) // Iris Iris
타입스크립트의 타입 종류와 인터페이스, 클래스, 타입 단언 등 여러 구조에 대해 학습했다. 대부분 자바스크립트와 비슷한 문법이었지만 생성자와 타입 단언 같은 부분은 새롭게 이해한 문법이었다. 이 부분부터 단단히 다지고 가야 다음 장들을 순조롭게 학습할 수 있다고 생각하여, 예제를 따라 작성해 보며 반복해서 읽고 넘어갔다.