[ S.A ] Js 객체와 불변성이란

정인성·2022년 5월 20일
0

S.A

목록 보기
2/4
post-thumbnail

기본형 데이터와 참조형 데이터

  • 기본형 데이터
  1. 불변 값 ( 값을 지정 하면 바뀌지 않음 )
  2. 기본형 데이터는 값을 그대로 할당
  3. 데이터는 하나의 메모리를 사용한다
  • 참조형 데이터
  1. 값이 저장된 주소 값을 할당
  2. 참조형은 기본형 데이터의 집합

Js 형변환

기본 자료형을 변환 하는 방법중에는 숫자형과 문자형을 예를 들겠다

let a = 1 // 숫자형
let b= (a + '') // 숫자형 1 를 b라는 변수에 문자열 '1'로 저장한다

b = Number(b)  // '1'의 문자형을 Number함수를 이용하여 다시  숫자형으로 바꾼다

불변 객체를 만드는 방법

불변 객체란 : 변하지 않는 객체 이미 할당된 객체가 변하지 않는다는 뜻을 가진다

  1. const을 이용 ( 객체 재할당: 불가능 , 객체의 속성변경 : 가능 )
const test = {};	// const로 객체를 만들어 주게 되면 바꿀수 없다
test.name = "mingyo";

console.log(test);  // {"mingyo"}
  1. Object.freeze() : 객체를 동결하기 위한 메소드
let test = {
    name : 'kim'
}		// 이름이 '김'이라고 선언했고
Object.freeze(test);	// freeze라는 메소드를 이용하여
test.name = 'Jung';		// name을 '정'이라고 속성을 바꿔보지만
console.log(test) // {name: 'kim'}	// 바뀌지 않은것을 볼수있다

앝은 복사와 깊은 복사

  • 얕은 복사 : 객체를 복사할 때 기존 값과 복사된 값이 같은 참조를 가리키고 있는 것
    • 객체의 참조값(주소 값)을 복사
  • 깊은 복사 : 객체안에 객체가 있을 경우에도 원본과의 참조가 완전히 끊어진 객체를 말하는 것
    • 객체의 실제 값을 복사
profile
2022.05.09 START

0개의 댓글