๐ Object value์ NaN๊ฐ์ด ์๋์ง ํ์ธํ๋ ํจ์ ๋ง๋ค๊ธฐ
์ฒ์์ NaN
๊ฐ์ ํ์ธํ๊ธฐ ์ํด in
, ===
, !=
๋ฅผ ์ฌ์ฉํ๋๋ฐ ํ๋ณ์ด ๋์ง ์์๋ค.
์ ๊ทธ๋ฐ์ง MDN๊ณต์๋ฌธ์์์ ์ฐพ์๋ณด๋๊น NaN
ํ๋ณ์ ๋น๊ต ํ๋ณ ๋์ isNaN()
ํน์ Number.isNaN()
๋ด์ฅํจ์๋ก ํ๋ณํด์ผ ํ๋ค๊ณ ๋์์์๋ค. (โญ๏ธ ๊ณต์๋ฌธ์์ ์ค์์ฑ โญ๏ธ) isNaN
, Number.isNaN()
์ ๋๋ค NaN
์ ํ๋ณํ๋ ํจ์์ด์ง๋ง ์์๊ฐ ์กฐ๊ธ ๋ค๋ฅด๋ค.
isNaN()
: ํ์ฌ ๊ฐ์ ์ซ์๋ก ๋ณํํ๊ณNaN
ํ๋ณNumber.isNaN()
: ํ์ฌtypeof => Number
&& ๊ฐ์ดNaN
์ผ๋๋ง ํ๋ณ
์ด๋ฅผ ๋ฐํ์ผ๋ก key:value
ํํ๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฒด์์ isNaN
, Number.isNaN()
ํจ์๋ฅผ ์ฌ์ฉํ๋๊น ์ ํํ ํ๋ณ์ด ์ด๋ฃจ์ด์ง์ง ์์๋ค. ์๋ํ๋ฉด object
๊ฐ์ Number
ํํ๋ก ๋ณํํ๋ฉด NaN
์ด ๋์ค๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ์ํ์์ NaN
ํจ์ ํ๋ณ์ ํ๊ฒ ๋๋ฉด NaN
์ ์ ๋ฌด์ ์๊ด์์ด true
๊ฐ return
๋๋ค.
const myObject = {name: '์์์ฐ', age: 27, sex: NaN}
const yourObject = {name: '์์์ค', age: 14, sex: 'female'}
console.log(Number(myObject))
๐๐ฝ NaN
console.log(Number(yourObject))
๐๐ฝ NaN
๊ทธ๋์ isNaN
, Number.isNaN()
ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋์ array
๊ฐ์์ NaN
์ด ์๋์ง ํ์ธํ๋ includes()
ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
- Object์ Value๋ง์ ๋ฝ์
array(๋ฐฐ์ด)
๋ก ๋ง๋ ๋ค. - includes() ๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ฐฐ์ด์ด
NaN
๊ฐ์ ํฌํจํ๊ณ ์๋์ง ํ์ธํ๋ค.
const myObject = {name: '์์์ฐ', age: 27, sex: NaN}
const yourObject = {name: '์์์ค', age: 14, sex: 'female'}
const getCheckNaN = (object) => {
let arrayValues = Object.values(object);
let current;
if (arrayValues.includes(NaN)){
current = true
}else{
current = false
}
return current
}
console.log(getCheckNaN(myInfo))
๐๐ฝ true
console.log(getCheckNaN(yourInfo))
๐๐ฝ false
๋๊ธ