programing

자바스크립트에서 Pass by Value and Pass by Reference

muds 2023. 11. 2. 22:09
반응형

자바스크립트에서 Pass by Value and Pass by Reference

Angular2를 작업한 지 거의 3개월이 다 되어 가는 지금 몇 가지 시나리오를 접했는데 어떻게 이런 일이 발생하는지 궁금했습니다.

특별한 경우this키워드 관련 참조 또는 인스턴스를 통과하고 있는 것이 분명합니다.DOM Object아니면Class예를들면.

하지만 또 다른 것이 있습니다.ControlGroup다른 변수에 할당될 때도 마찬가지입니다.그리고 두 변수 모두 같은 경우에 접근할 수 있습니다.ControlGroup.

개체와 배열은 참조로 전달됩니다.숫자, 문자열, 부울과 같은 기본값은 값으로 전달됩니다.객체에 대한 참조 역시 원시형이며 다른 원시형과 마찬가지로 값으로 전달되지만, 참조하는 객체는 여전히 참조로 전달됩니다.

이것은 Angular나 TypeScript에 특정한 것이 아니라 단지 자바스크립트가 작동하는 방식입니다.

무엇을 하고 있는지 알고 있는 경우에 대한 조정은 다음과 같습니다.

의사 코드:

foo() {
  int num = 1;
  bar(num);
  // num is 2!!
}
bar(int arg byRef) {
  arg = 2
}

타이프스크립트:

function foo() {
  let num = 1;
  (() => {
    const ret = bar(num) as any;
    num = ret.arg;
  })();
  // num is 2!!
}
function bar(arg) {
  arg = 2;
  return { arg };
}

언급URL : https://stackoverflow.com/questions/35473404/pass-by-value-and-pass-by-reference-in-javascript

반응형