header-img
Info :
728x90

단어 처럼 

-. truthly λŠ” true 같은 것

-. falsy λŠ” false 같은 것

 

ν•œλ§ˆλ””λ‘œ boolean 값인 true, false λ₯Ό 가지지 μ•ŠμŒμ—λ„ λΆˆκ΅¬ν•˜κ³  "λΉ„μŠ·ν•œ" 효과λ₯Ό λ‚΄λŠ” 값이닀.

 

μ •λ„λ‘œ μƒκ°ν•˜λ©΄ 될 것 κ°™λ‹€.

 

1. falsy κ°’μ˜ μ’…λ₯˜

- false / 0 / 음수 / On / "" / null / undefined / NaN

* On : BigInt. boolean 으둜 μ‚¬μš©λ  경우 μˆ«μžμ™€ 같은 κ·œμΉ™μ„ λ”°λ₯Έλ‹€.

* NaN : μˆ«μžκ°€ μ•„λ‹Œ κ°’ None of Number 

 

2. falsy κ°’ νŒμ •

if (!λ³€μˆ˜) {return;}
console.log(λ³€μˆ˜)

이런 μ‹μœΌλ‘œ μ‚¬μš©ν•˜λ©΄

μœ„μ˜ falsy 값이 μ•„λ‹Œ κ°’λ§Œ console 둜 찍게 λœλ‹€.

 

3. μ‚¬μš© μ˜ˆμ‹œ

 

보톡 μš°λ¦¬κ°€ λ­”κ°€ 데이터λ₯Ό λ°›μ•„μ˜¬ λ•Œ undefined κ°’μ΄λ‚˜ null 값을 λ°›μ•„μ˜€κ²Œ λ˜λŠ” κ²½μš°κ°€ μ’…μ’… μƒκΈ°λŠ”λ°

μ΄λ•Œ TypeError κ°€ λ°œμƒν•˜κ²Œ λœλ‹€.

 

TypeError : Cannot read property 'λ³€μˆ˜λͺ…' of null

ν˜Ήμ€ 

TypeError : Cannot read property 'λ³€μˆ˜λͺ…' of undefined

 

μ΄λ•Œ

function falsytest(vari) {
	if(vari === undefined || vari === null) {
    	console.log("λ³€μˆ˜ 값이 μ΄μƒν•΄μš”");
        return;
    }
    
    console.log(vari.name);
}

const data = null
falsytest(data);

μ΄λ ‡κ²Œ 검사λ₯Ό ν•΄μ£Όκ²Œ 되면 νƒ€μž… 였λ₯˜κ°€ μ•ˆλ‚˜κ²Œ λœλ‹€.

 

근데 ν˜Ήμ‹œ λͺ¨λ₯Ό λŒ€λΉ„λ₯Ό μœ„ν•΄ μœ„μ— μžˆλŠ” falsy 에 ν•΄λ‹Ήν•˜λŠ” 것듀을 λͺ¨λ‘ 검사식에 λ„£κ²Œ 되면 검사식이 μ—„μ²­ λ‚˜κ²Œ κΈΈμ–΄μ§€κ²Œ λ ν…Œλ‹ˆ.. 

 

function falsytest(vari) {
	if(!vari) {
    	console.log("λ³€μˆ˜ 값이 μ΄μƒν•΄μš”");
        return;
    }
    
    console.log(vari.name);
}

const data = null
falsytest(data);

μ΄λ ‡κ²Œ λ³€ν™˜ν•΄μ£Όλ©΄ μœ„μ˜ λͺ¨λ“  falsy 값을 κ²€ν† ν•΄μ€€λ‹€.

 

4. λΆ€μ—° μ„€λͺ…

console.log(!undefined);
console.log(!null);
console.log(!0);
console.log(!'');
console.log(!NaN);

μœ„μ˜ μ’…λ₯˜λ“€μ΄ λͺ¨λ‘ falsy ν•œ κ°’μ΄λΌμ„œ false 둜 κ°„μ£Όν•˜λ―€λ‘œ

!false = true

즉 μœ„μ˜ λ°©λ²•μœΌλ‘œ falsy ν•œ 값듀을 νŒλ³„ν•΄μ€˜λ„ λ˜‘κ°™μ€ 방법인 것이닀.

 

μ•„λ‹ˆλ©΄..

arr 에 falsy κ°’ 집어 넣어놓고 filter μ‚¬μš©ν•΄μ„œ νŒλ³„ν•΄λ‚΄λŠ” 방법도 있음 

 

728x90
더보기
FRONTEND/React