📖 전예홍, ⌈Do it! 타입스크립트 프로그래밍⌋, 이지스퍼블리싱, 2021
🔽 깊은 복사
let original = 1
let copied = original
copied += 2
console.log(original, copied) // 1 3
🔽 얕은 복사
const originalArray = [5, 3, 9, 7]
const shallowCopiedArray = originalArray
shallowCopiedArray[0] = 0
console.log(originalArray, shallowCopiedArray) // [0, 3, 9, 7] [0, 3, 9, 7]
const oArray = [1, 2, 3, 4]
const deepCopiedArray = [...oArray]
deepCopiedArray[0] = 0
console.log(oArray, deepCopiedArray) // [1, 2, 3, 4] [0, 2, 3, 4]
export type ResultType = [boolean, string]
import {ResultType} from './ResultType'
export const doSomething = (): ResultType => {
try {
throw new Error('Some error occurs...')
} catch(e) {
return [false, e.message]
}
}
import {doSomething} from './doSomething'
const [result, errorMessage] = doSomething()
console.log(result, errorMessage) // false Some error occurs...
자바스크립트에서 배열이 객체라는 것을 이해했다. 배열의 아이템 타입을 한꺼번에 표현할 때, 제네릭 방식 타입을 사용한다는 것을 알아보았다. 선언형 프로그래밍과 명령형 프로그래밍, 깊은 복사와 얕은 복사의 차이에 대해 학습했다.