JavaScript Immutability

불변의 함수

강의소개

JS는 함수의 파라미터의 인자가 원시 데이터 타입과 객체일 때 동작방법이 달라집니다. 어떻게 다른지를 살펴봅시다. 

 

 

 

강의1

코드

// function fn(person){
//     person = Object.assign({}, person);
//     person.name = 'lee';
//     return person;
// }
// var o1 = {name:'kim'}
// var o2 = fn(o1);
// console.log(o1, o2);

function fn(person){
    person.name = 'lee';
}
var o1 = {name:'kim'}
var o2 = Object.assign({}, o1);
fn(o2);
console.log(o1, o2);

 

 

 

강의2

 

코드

var score = [1,2,3];
var a = score;
var b = score;
// 1~
// score.push(4);
var score2 = score.concat(4);
console.log(score, score2, a, b);

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기