TIL | Reference Types & Equality Testing

ryan·2020년 11월 19일
0

JavaScript

목록 보기
9/23
post-thumbnail

Double equals(==) and Triple equals(===) are just going to check for the reference in memory.

==와 ===는 단지 메모리에서 참조를 확인한다.

'hi' === 'hi' // true

['hi', 'bye'] === ['hi', 'bye'] // false
[1] === [1] // false
[1] == [1] // false
[] == [] // false

JavaScript actually doesn't care about what's inside, at least with arrays.

자바스크립트는 사실, 적어도 배열에 있어서 안에 뭐가 있는 지 신경쓰지않는다.

What it's comparing instead are the references in memory.

대신 비교하는 것은 메모리의 참조다.

let luckyNum = 87;

[1, 2, 3] === [1, 2, 3] // false

let nums = [1, 2, 3]
let numsCopy = nums;

nums // [1, 2, 3]
numsCopy // [1, 2, 3]

nums.push(4) // 4
nums // [1, 2, 3, 4]

numsCopy // [1, 2, 3, 4]  // ???

numsCopy.pop() // 4

nums // [1, 2, 3]
numsCopy // [1, 2, 3]

nums === numsCopy // true

It's not going to help us if we're trying to compare the contents.

자바스크립트에서 내용으로 비교를 하려고 하는 건 도움이 안 될 것이다.

profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

0개의 댓글