JavaScript의 기본 값과 참조 값
프리미티브 값이란 무엇입니까?
JS에는 숫자, 문자열, 부울, 정의되지 않음, null 및 기호의 6가지 기본 값이 있습니다.
그것들을 기본으로 생각할 수 있으므로 프리미티브라는 이름이 붙습니다. 이러한 값은 개체가 아니며 메서드가 없습니다.
기준값이란?
짧은 대답은 다음과 같습니다. 기본 값이 아닌 모든 것은 참조 값입니다. 그들은
typeof "object"
입니다. 객체, 배열, 함수 등에 대해 이야기하고 있습니다.주요 차이점
주요 차이점은 이러한 값이 후드 아래에서 작동하는 방식입니다. 특히 메모리에 값을 저장하는 방법입니다.
기본 값은 메모리에 값을 갖는 반면 참조 값은 값 자체가 아니라 메모리의 해당 위치(메모리 주소)에 대한 참조를 갖습니다.
예를 들어:
let name = 'Jesus'
let nickName = name
name = 'Juan'
console.log(name) // 'Juan'
console.log(nickName) // 'Jesus'
여기서는 기본 값만 사용하므로 모든 것이 의미가 있습니다. 오른쪽?
이제 참조 값 예를 살펴보겠습니다.
let jose = {
type: 'Person',
name: 'Jose'
}
let juan = jose
juan.name = 'Juan'
console.log(jose.name) // 'Juan'
console.log(juan.name) // 'Juan'
보다? 여기에서
juan
변수는 메모리에서 jose
변수와 동일한 지점을 참조합니다. 그렇기 때문에 둘 중 하나에서 name
속성을 변경하면 둘 다에서 변경하게 됩니다.이 동작은 겉보기에 같아 보이는 두 참조 값을 비교하면 결과가
false
인 이유도 설명합니다. 예를 들어:const fruit = {
color: 'Yellow',
name: 'Banana'
}
const snack = {
color: 'Yellow',
name: 'Banana'
}
fruit === snack // false
따라서 기본 유형은 값으로 비교되고 참조 유형은 참조로 비교됩니다.
마지막으로 기본 값은 변경할 수 없음을 기억하십시오. 따라서 프리미티브 값을 변경할 때 수행하는 작업은 메모리 내 값을 대체하는 것입니다. 참조 값으로 할 수 있는 것처럼 수정하지 않습니다.
Reference
이 문제에 관하여(JavaScript의 기본 값과 참조 값), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/elpol/primitive-vs-reference-values-in-javascript-1lki텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)