동일한 값의 2개 배열은 JS에서 동일하지 않습니다.

Hello Guys 오늘 저는 Javascript에서 눈치채지 못했을 수도 있는 아주 작은 것에 대해 논의할 것입니다.
예를 들어 그 것을 보여 드리겠습니다.

예 1 -




let array1= [1,5,9,14,17];
let array2= [1,5,9,14,17];

console.log(array1 == array2);
console.log(array1 === array2);


출력이 어떻게 될지 짐작할 수 있습니까?



출력 -




false
false


  • 두 비교에서 모두 false를 반환했는데 값이 같고 요소의 개수도 같은데 왜 false를 반환했습니까? 자바 스크립트의 모든 것이 객체이고 배열도 객체이기 때문에 요소의 값이나 수를 비교하는 대신 다른 배열의 참조를 확인하여 두 경우 모두 false를 반환했습니다.

  • 예 2 -




    let array1= [1,5,9,14,17];
    let array2= [1,5,9,14,17];
    let array3 = array1
    console.log(array3 === array1);
    console.log(array3 === array2);
    


    이제 어떤 결과가 나올지 추측할 수 있습니까?



    출력 -




    true
    false
    


  • array3과 array1을 비교하는 동안 true를 반환한 이유는 우리가 array3에 array1의 참조를 저장했기 때문에 둘 다 동일한 참조를 가리키고 있는 반면 array3과 array2 비교는 참조가 다르기 때문에 false를 반환했습니다.

  • 그런 다음 이러한 어레이를 어떻게 비교할 수 있습니까?



    대답은 간단합니다. toString 메서드를 사용하여 배열을 문자열로 변환한 다음 비교하십시오.

    예 3-




    let array1= [1,5,9,14,17];
    let array2= [1,5,9,14,17];
    console.log(array1.toString() === array2.toString());
    


    출력 -




    true
    


  • 따라서 이제 동일한 문자열 값을 비교하고 있으므로 이번에는 true를 반환했습니다.

  • 그것은 매우 혼란스러워 보이며 설명하기 위해 최선을 다했으며 잘못된 점이 있으면 댓글 섹션에서 수정하십시오.



    이 게시물을 확인해 주셔서 감사합니다.
    ^^ 아래 링크에서 기부로 저를 도울 수 있습니다 감사합니다👇👇 ^^
    ☕ --> https://www.buymeacoffee.com/waaduheck <--

    이 게시물도 확인하십시오.

    좋은 웹페이지 즐겨찾기