길잃은곰
길을 잃어 떠도는 곰
길잃은곰
전체 방문자
오늘
어제
  • 분류 전체보기 (87)
    • Algorithm (6)
    • HTML, CSS (9)
    • Frontend (1)
    • SW공학 (1)
    • WEB (4)
    • Javascript (29)
    • Typescript (0)
    • React (8)
    • Computer Science (11)
    • NEWS (0)
    • TIL(WIL) (4)
    • ETC (5)

블로그 메뉴

  • ✨깃허브
  • 홈
  • 태그
  • 방명록

인기 글

태그

  • Pixel
  • ES6
  • Es5
  • js2016
  • 코드트리
  • PX
  • 자바스크립트
  • root-element
  • ES7
  • ES8
  • 연탄
  • %
  • javascript2016
  • VW
  • REM
  • VH
  • JavaScript
  • EM
  • element
  • 코테
hELLO · Designed By 정상우.
길잃은곰

길을 잃어 떠도는 곰

[ Javascript ] passed by value, passed by reference 의 차이점
Javascript

[ Javascript ] passed by value, passed by reference 의 차이점

2023. 1. 17. 00:50

값에 의한 전달 (passed by value)

  • 원시 타입의 값은 값에 의한 전달 (passed by value) 방식으로 전달됩니다. 원시 타입의 값은 변경할 수 없는 값이므로 원시 타입의 값을 변경하려면 새로운 값을 재할당해야 합니다.
  • 또한 원시 타입의 값은 변경할 수 없는 값이므로 함수의 매개변수로 원시 타입의 값을 전달하면 함수 내부에서 매개변수의 값을 변경해도 원본 값은 변경되지 않습니다.

const num = 1;
const increase = (num) => {
  return num + 1;
};
increase(num); // 2
console.log(num); // 1

참조에 의한 전달 (passed by reference)

  • 객체 타입의 값은 참조에 의한 전달 (passed by reference) 방식으로 전달됩니다. 객체 타입의 값은 변경할 수 있는 값이므로 함수의 매개변수로 객체 타입의 값을 전달하면 함수 내부에서 매개변수의 값을 변경하면 원본 값도 변경됩니다.
  • 객체 타입의 값은 변경할 수 있는 값이므로 함수의 매개변수로 객체 타입의 값을 전달하면 함수 내부에서 매개변수의 값을 변경하면 원본 값도 변경됩니다.

const obj = { a: 1 };
const increase = (obj) => {
  obj.a += 1;
};
increase(obj); // { a: 2 }
console.log(obj); // { a: 2 }

값에 의한 전달 (passed by value) vs 참조에 의한 전달 (passed by reference)

  • 원시 타입의 값은 값에 의한 전달 (passed by value) 방식으로 전달됩니다. 객체 타입의 값은 참조에 의한 전달 (passed by reference) 방식으로 전달됩니다.
  • 원시 타입의 값은 변경할 수 없는 값이므로 원시 타입의 값을 변경하려면 새로운 값을 재할당해야 합니다. 객체 타입의 값은 변경할 수 있는 값이므로 함수의 매개변수로 객체 타입의 값을 전달하면 함수 내부에서 매개변수의 값을 변경하면 원본 값도 변경됩니다.

 

Reference
  • 값에 의한 전달 , 참조에 의한 전달
  • 2
저작자표시 비영리 동일조건 (새창열림)

'Javascript' 카테고리의 다른 글

[ Javascript ] This 란 무엇인가?  (0) 2023.01.17
[ JavaScript ] 고차함수 ( HOF ) 란 무엇인가?  (0) 2023.01.17
[ Javascript ] 얕은 복사 vs 깊은 복사  (0) 2023.01.16
[ JavaScript ] ==, === 의 차이점  (0) 2023.01.16
[ JavaScript ] Arrow Function ( 화살표 함수 )  (0) 2023.01.16
    'Javascript' 카테고리의 다른 글
    • [ Javascript ] This 란 무엇인가?
    • [ JavaScript ] 고차함수 ( HOF ) 란 무엇인가?
    • [ Javascript ] 얕은 복사 vs 깊은 복사
    • [ JavaScript ] ==, === 의 차이점
    길잃은곰
    길잃은곰

    티스토리툴바