자바스크립트 아카데미 #1: 원시값 vs 참조값
8462 단어 nodejavascriptbeginnerswebdev
오늘은
primitive value
와 reference value
의 차이점을 보여드리겠습니다.기본 값
기본 값은
string
, number
, boolean
, null
, undefined
및 symbols
입니다.기준값
plain object {}
, array
, Map
등과 같은 다른 모든 것...데이터는 어떻게 저장됩니까?
기본 값의 경우 값은
stack
, 즉 current context!
에 저장됩니다.참조 값의 경우 값은
heap
에 저장되며, 모두objects
를 보관하고 각각object
에 자체 주소가 있는 큰 저장소입니다! (마을의 집처럼 집집마다 주소가 있다)따라서
object
를 통해 Heap
를 가져오려면 이 주소object
를 사용해야 합니다!다행스럽게도
adress
를 직접 관리할 필요가 없습니다!변수 선언
기본 값의 경우 변수는 값을 저장합니다. 따라서 이 변수에 저장된
actual value
를 조작합니다.let toto = 5
toto = 6
console.log(toto) // 6
개체를 조작할 때 기본 값과 달리 참조 값의 경우 해당 개체의
reference
에서 작업합니다! 따라서 개체의 reference
를 변수에 저장합니다.let toto = {}
toto.a = 'hello'
console.log(toto) // { a: 'hello' }
값 복사
기본 값의 경우
primitive value
를 저장하는 변수를 할당하면 value
를 새 변수에 복사합니다.따라서 값을 변수로 수정하면 다른 변수 값은 변경되지 않습니다.
let a = 55
let b = a
a = 100
console.log(a) // 100
console.log(b) // 55
저장하는 변수를 할당할 때 참조 값의 경우
reference value
이 객체의 참조를 새 변수에 복사합니다.따라서 값을 변수로 수정하면 다른 변수 값이 변경됩니다! 두 변수가 동일하므로
reference
!let a = {}
let b = a
a.toto = 'hello'
console.log(b) // { toto: 'hello' }
함수 매개변수 작업
함수의 인수로
primitive value
를 포함하는 변수를 전달할 때 프리미티브 값의 경우 이 변수의 value
를 복사합니다.따라서 이 값을 함수로 편집해도 원래 변수의 값은 변경되지 않습니다!
let a = 55
const foo = function (arg) {
arg = 100
console.log(arg) // 100
}
foo(a)
console.log(a) // 55
함수의 인수로
reference value
를 포함하는 변수를 전달할 때 참조 값의 경우 이 변수의 reference
를 복사합니다.따라서 이 값을 함수로 편집하면 원래 변수의 값이 변경됩니다!
let a = { toto: 'hello' }
const foo = function (arg) {
arg.toto = 'changed'
console.log(arg) // { toto: 'changed' }
}
foo(a)
console.log(a) // { toto: 'changed' }
reference value
로 작업할 때 볼 수 있듯이 이것을 공유하는 다른 변수reference value
를 편집할 수 있습니다!나는 당신이 이 독서를 좋아하기를 바랍니다!
🎁 나를 팔로우하고 메시지를 보내면 내 새 책
Underrated skills in javascript, make the difference
을 무료로 받을 수 있습니다 😁 그리고 SAVE 19$ 💵💵또는 가져오기HERE
🇫🇷🥖 프랑스 개발자의 경우 내
🎁 MY NEWSLETTER
☕️할 수 있습니다SUPPORT MY WORKS 🙏
🏃♂️ 👇에서 저를 팔로우하실 수 있습니다.
🕊 트위터 :
👨💻 Github: https://github.com/Code-Oz
그리고 이 글을 🔖 표시할 수 있습니다!
Reference
이 문제에 관하여(자바스크립트 아카데미 #1: 원시값 vs 참조값), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codeoz/javascript-academy-1-primitive-value-vs-reference-value-1phl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)