원시 유형 동작 (Pass By value) ===
비-프리맨티 유형 동작 (참조로 통과)
가 빈 배열을 가리키는 참조 (예 : 메모리 주소 h001)를 보유합니다. 후, H001의 배열이 수정됩니다 참조 복사 를 사용하여 참조 변수를 복사하면 객체의 데이터가 아닌 참조를 복사합니다.
둘 다 와<code class="language-javascript">const name = 'John'; const age = 25;</code>이제 동일한 메모리 위치를 가리 킵니다. 하나를 수정하면 다른 하나를 수정합니다
가 동일한 참조를 공유하기 때문에 변경됩니다.
참조 변수를 재 할당 fruits
push()
는 메모리에 남아 있지만 이제 는 이제 새로운 객체 .
왜가 배열과 객체로 실패하는지 =
<code class="language-javascript">const fruits = []; fruits.push('Banana');</code>연산자는 비-프림 유형에 대한 참조를 비교합니다. 그러므로 : <.>
fruits
및 yellowFruits
와
.
yellowFruits
함수 매개 변수와 순도 fruits
순수 함수 : 외부 상태를 수정하지 마십시오. 그들은 입력만으로 작동하고 예측 가능한 출력을 생성합니다.
. 불순한 함수 :전달 된 객체를 인수로 수정하여 함수의 범위 외부의 원래 객체에 영향을 미칩니다.
<code class="language-javascript">const fruits = ['Banana']; const yellowFruits = fruits;</code>
요약에서 { name: 'John' }
person
{ name: 'Mary' }
위 내용은 어레이와 객체를 ===를 비교할 수없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!