JavaScript/JavaScript

JS 자세히 알아보기 (전개 연산자, 데이터 불변성, 복사)

IT Blue 2021. 6. 6. 23:51

 

전개 연산자 (Spread)

 

// 전개 연산자 (Spread)

const fruits = ['Apple', 'Banana', 'Cherry']

// ['Apple', 'Banana', 'Cherry']
console.log(fruits)

// Apple Banana Cherry
console.log(...fruits)

// const toObject = (a, b, c) => ({ a, b, c })
function toObject(a, b, c){
  return {
    a: a,
    b: b,
    c: c
  }
}

// toObject(fruits[0], fruits[1], fruits[2]) = toObject(...fruits)
// {a: "Apple", b: "Banana", c: "Cherry"}
console.log(toObject(...fruits))

 

데이터 불변성 (Immutability)

 

데이터 불변성 (Immutability)
원시 데이터 (불변O): String, Number, Boolean, undefined, null
참조형 데이터 (불변X): Object, Array, Function

원시 데이터는 값을 복사 할 때 복사된 값을 다른 메모리에 할당 하기 때문에 
원래의 값과 복사된 값이 서로 영향을 미치지 않는다

참조형 데이터는 변수가 객체의 주소를 가리키는 값이기 때문에 
복사된 값(주소)이 같은 값을 가리킨다.

 

얇은 복사, 깊은 복사

 

참조 링크 참조

 


참조

 

https://velog.io/@th0566/Javascript-%EC%96%95%EC%9D%80-%EB%B3%B5%EC%82%AC-%EA%B9%8A%EC%9D%80-%EB%B3%B5%EC%82%AC

 

[Javascript] 얕은 복사, 깊은 복사

자바스크립트에서 값은 원시값과 참조값으로 나뉜다. 원시값 Number String Boolean Null Undefined 참조값 Object Symbol 원시값은 값을 복사 할 때 복사된 값을 다른 메모리에 할당 하기 때문에 원래의 값과

velog.io