๋ ผ๋ฆฌ์ NOT (!)
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itโs been available across browsers since โจ2015๋ 7์โฉ.
๋
ผ๋ฆฌ์ NOT (!
) (๋
ผ๋ฆฌ์ ๋ณด์, ๋ถ์ ) ์ฐ์ฐ์๋ ์ฐธ์ ๊ฑฐ์ง์ผ๋ก ๋ง๋ค๊ณ , ๋ฐ๋๋ก ๊ฑฐ์ง์ ์ฐธ์ผ๋ก ๋ง๋ญ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ถ๋ฆฌ์ธ (๋
ผ๋ฆฌ์ ) ๊ฐ๊ณผ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค. ๋ถ๋ฆฌ์ธ์ด ์๋ ๊ฐ๋ค๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ค๋ฉด, ๋จ์ผ ํผ์ฐ์ฐ์๊ฐ true
๋ก ๋ณํ๋ ์ ์์ผ๋ฉด false
๋ฅผ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด true
๋ฅผ ๋ฐํํฉ๋๋ค.
์๋ํด ๋ณด๊ธฐ
const a = 3;
const b = -2;
console.log(!(a > 0 || b > 0));
// Expected output: false
๊ตฌ๋ฌธ
!x
์ค๋ช
๋จ์ผ ํผ์ฐ์ฐ์๊ฐ true
๋ก ๋ณํ๋ ์ ์์ผ๋ฉด false
๋ฅผ ๋ฐํํฉ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด, true
๋ฅผ ๋ฐํํฉ๋๋ค.
๋ง์ฝ ์ด๋ค ๊ฐ์ด true
๋ก ๋ณํ ๊ฐ๋ฅํ๋ค๋ฉด, ๊ทธ ๊ฐ์ ์์ ์ฐธ ๊ฐ์ ๊ฐ์
๋๋ค. ๋ง์ฝ ์ด๋ค ๊ฐ์ด false
๋ก ๋ณํ ๊ฐ๋ฅํ๋ค๋ฉด, ๊ทธ ๊ฐ์ ์์ ๊ฑฐ์ง ๊ฐ์ ๊ฐ ์ด๋ผ๊ณ ํฉ๋๋ค.
๊ฑฐ์ง์ผ๋ก ๋ณํ๋ ์ ์๋ ํํ์์ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
null
;NaN
;0
;- ๋น ๋ฌธ์์ด (
""
or''
or``
); undefined
.
!
์ฐ์ฐ์๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ด ์๋ ํผ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉํ ์ ์์ง๋ง, ๋ฐํ๊ฐ์ด ํญ์ ์์ํ ๋ถ๋ฆฌ์ธ์ผ๋ก ๋ณํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ ํ ๋ถ๋ฆฌ์ธ ์ฐ์ฐ์๋ก ๊ฐ์ฃผํ ์ ์์ต๋๋ค. ๋ช
์์ ์ผ๋ก ๋ฐํ๊ฐ์ (๋๋ ์ผ๋ฐ์ ์ผ๋ก ์ด๋ค ํํ์์) ๋์ํ๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ๋ณํํ๊ธฐ ์ํด์๋ ์ด์ค NOT ์ฐ์ฐ์ (!!
) ๋๋ Boolean
์์ฑ์๋ฅผ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.
์์
NOT ์ฌ์ฉํ๊ธฐ
๋ค์ ์ฝ๋๋ !
(๋
ผ๋ฆฌ์ NOT) ์ฐ์ฐ์์ ์์ ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
!true; // !t ๋ false๋ฅผ ๋ฐํํฉ๋๋ค
!false; // !f ๋ true๋ฅผ ๋ฐํํฉ๋๋ค
!""; // !f ๋ true๋ฅผ ๋ฐํํฉ๋๋ค
!"Cat"; // !t ๋ false๋ฅผ ๋ฐํํฉ๋๋ค
์ด์ค NOT (!!
)
NOT ์ฐ์ฐ์๋ฅผ ์ฐ์์ผ๋ก 2๊ฐ ์ฌ์ฉํด์ ๋ช ์์ ์ผ๋ก ์ด๋ค ๊ฐ์ ๊ทธ์ ๋์ํ๋ ์์ํ ๋ถ๋ฆฌ์ธ์ผ๋ก ๋ณํํ๋๋ก ๊ฐ์ ํ ์ ์์ต๋๋ค. ๋ณํ์ ๊ฐ์ "์ฐธ ๊ฐ์" ๋๋ "๊ฑฐ์ง ๊ฐ์"์ ๊ธฐ๋ฐํฉ๋๋ค(์ฐธ ๊ฐ์ ๊ฐ๊ณผ ๊ฑฐ์ง ๊ฐ์ ๊ฐ์ ์ฐธ๊ณ ํ์ธ์).
Boolean
ํจ์๋ฅผ ํตํด์๋ ๋๊ฐ์ ๋ณํ์ ์ํํ ์ ์์ต๋๋ค.
!!true; // !!truthy๋ true๋ฅผ ๋ฐํํฉ๋๋ค.
!!{}; // !!truthy๋ true๋ฅผ ๋ฐํํฉ๋๋ค. ์์์ object๋ ์ฐธ ๊ฐ์ ๊ฐ์ฒด์
๋๋ค.
!!new Boolean(false); // .valueOf()์์ false๊ฐ์ ๊ฐ์ง๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ฒด๋์!
!!false; // !!falsy๋ false๋ฅผ ๋ฐํํฉ๋๋ค.
!!""; // !!falsy๋ false๋ฅผ ๋ฐํํฉ๋๋ค.
!!Boolean(false); // !!falsy๋ false๋ฅผ ๋ฐํํฉ๋๋ค.
NOT ์ฌ์ด์์์ ๋ณํ
๋ถ๋ฆฌ์ธ์ธ ํฌํจํ๋ ๋ค์ ์ฐ์ฐ
!!bCondition
๋ ํญ์ ์๋์ ๊ฐ์ต๋๋ค.
bCondition
๋ช ์ธ์
Specification |
---|
ECMAScriptยฎ 2026 Language Specification # sec-logical-not-operator |
๋ธ๋ผ์ฐ์ ํธํ์ฑ
Loadingโฆ