"JavaScript 참조"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(다른 사용자 한 명의 중간 판 하나는 보이지 않습니다)
5번째 줄: 5번째 줄:
*배열을 포함한 객체를 복사 할 때는 참조로 전달함
*배열을 포함한 객체를 복사 할 때는 참조로 전달함


<source lang="javascript">
<syntaxhighlight lang="javascript">
function foo(a, b, c) {
function foo(a, b, c) {
     a = 2;
     a = 2;
18번째 줄: 18번째 줄:
foo(x, y, z);
foo(x, y, z);
console.log(x, y, z); // 1, ["ksk", "jmnote"], Object {name: "jmnote"}
console.log(x, y, z); // 1, ["ksk", "jmnote"], Object {name: "jmnote"}
</source>
</syntaxhighlight>
:foo() 함수에 x의 값은 복사, y, z의 값은 참조로 넘겨지기 때문에 x의 값은 변경이 없지만 참조로 넘겨지는 y, z는 값이 변경됨
:foo() 함수에 x의 값은 복사, y, z의 값은 참조로 넘겨지기 때문에 x의 값은 변경이 없지만 참조로 넘겨지는 y, z는 값이 변경됨


[[분류:JavaScript]]
[[분류:JavaScript]]

2020년 11월 2일 (월) 02:51 기준 최신판

개념[ | ]

JavaScript Call By Reference
자바스크립트 참조
  • 자바스크립트에서는 기본적으로 값을 복사로 전달함
  • 배열을 포함한 객체를 복사 할 때는 참조로 전달함
function foo(a, b, c) {
    a = 2;
    b[0] = "ksk";
    c.name = "jmnote";
}

var x = 1;
var y = ["john", "jmnote"];
var z = {name: "john"};

foo(x, y, z);
console.log(x, y, z); // 1, ["ksk", "jmnote"], Object {name: "jmnote"}
→ foo() 함수에 x의 값은 복사, y, z의 값은 참조로 넘겨지기 때문에 x의 값은 변경이 없지만 참조로 넘겨지는 y, z는 값이 변경됨
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}