primitive vs 참조 vs 참조 값
변수는 두 가지 유형의 값을 저장할 수 있습니다.
숫자, 문자열 및 부울. 변수의 메모리 공간에 직접 저장됩니다.
var x = 10;참조 값
참조 값은 메모리의 다른 곳에 저장된 객체에 대한 참조입니다. 그들은 객체 자체를 저장하지 않고 대신에 그것을 가리키는 메모리 주소를 포함합니다.
var x = 10;
변수의 저장
프리미티브는 변수의 메모리 공간에 저장됩니다. 예를 들어, x :
var x = 10;라는 변수에 값을 할당하면 숫자 10은 X의 메모리에 직접 저장됩니다.
반면에, 객체 (배열, 개체 및 함수 포함)는 heap에서 할당됩니다. 변수에 객체를 할당하면 변수는 객체 자체가 아닌 객체의 참조 (메모리 주소)를 저장합니다.
var 객체 = {a : 1, b : 2}; var 참조 = 개체; //`reference '는 이제`객체'
value vs 참조 패스 바이
에 대한 참조입니다. 변수를 함수로 전달할 때 프리미티브는 값으로 전달됩니다 (실제 값의 사본은 이루어집니다). 그러나 기준 값은 참조로 전달됩니다 (참조 자체가 전달됨). 이는 참조 변수를 통해 객체에 대한 변경 사항이 원래 객체에도 반영 될 것임을 의미합니다.
결론
는 Javascript의 변수로 작업하는 데 결정됩니다. 프리미티브는 변수의 메모리에 직접 저장되며, 참조에는 메모리의 다른 곳에 저장된 개체를 가리키는 주소가 포함되어 있습니다. 프리미티브의 패스 바이 값은 독립적 인 사본을 보장하는 반면, 객체에 대한 패스 바이 참조는 원래 객체와 그 참조에서 수정을 동기화 할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3