05장 배열과 튜플

Iris·2022년 1월 9일
0
post-thumbnail

📖 전예홍, ⌈Do it! 타입스크립트 프로그래밍⌋, 이지스퍼블리싱, 2021

05-4 순수 함수와 배열

깊은 복사와 얕은 복사

🔽 깊은 복사

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]

05-5 튜플 이해하기

튜플에 타입 별칭 사용하기

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...

이번 스터디에서 특별히 좋았던 점이나 어려웠던 점, 새로 알게 된 부분

자바스크립트에서 배열이 객체라는 것을 이해했다. 배열의 아이템 타입을 한꺼번에 표현할 때, 제네릭 방식 타입을 사용한다는 것을 알아보았다. 선언형 프로그래밍과 명령형 프로그래밍, 깊은 복사와 얕은 복사의 차이에 대해 학습했다.

profile
👩🏻‍💻 Web Front-end Developer

0개의 댓글