์๋ฐ์คํฌ๋ฆฝํธ ํท๊ฐ๋ฆฌ๋ ๋ ผ๋ฆฌ์ฐ์ฐ์ : || (or) $$ (and) !(not)
6. logical(๋ ผ๋ฆฌ) operators : || (or) $$ (and) !(not)
1. or : 3์ค์ 1๊ฐ ๋ผ๋ true ๋ฉด true ๋ฆฌํด
const value1 = false;
const value2 = 4 < 2; // 4๊ฐ 2๋ณด๋ค ์๋ค? ํ๋ฆฌ๋ฏ๋ก false
console.log(`or: ${value1 || value2 || check()}`); //์ฌ๊ธฐ์ check ํจ์๋ ๋ฆฌํด๊ฐ์ธ true๋ฅผ ๋ฆฌํดํ๋ค.
//value1 or value2 or check ์ค ํ๋๋ผ๋ true ๋ผ๋ฉด true๋ก ๊ณ์ฐ์ด ๋๋ ์ฐ์ฐ์
function check() {
for (let i = 0; i < 10; i++) {
//์๊ฐ์ ์ก์๋จน์ง๋ง ๊ฒฐ๊ตญ ๋ฆฌํด๊ฐ์ธ true ๋ฅผ ๋ฐํํด์ค
console.log('๐คฌ');
}
return true;
}
value1 ๊ณผ value2์ ๊ฐ์ด false ์ด๋ฏ๋ก
console.log(`or: ${value1 || value2 || check()}`); ๋ก ํ์ธํด๋ดค์๋
๋ง์ง๋ง check ํจ์์ return ๊ฐ์ด true ์ด๋ฏ๋ก
or ์ ๊ฒฐ๊ณผ๋ true๋ก ๋์จ๋ค.
ํ์ง๋ง or ์ฐ์ฐ์๋ ์ฒ์์ผ๋ก true ๊ฐ ๋์จ๋ค๋ฉด ๋ฉ์ถ๋ค > or ์ค ํ๊ฐ๋ผ๋ true ์ด๋ฉด = true
const value1 = true; //์ฒซ๋ฒ์งธ or ์ด true ์ผ๋
const value2 = 4 < 2;
console.log(`or: ${value1 || value2 || check()}`);
function check() {
for (let i = 0; i < 10; i++) {
console.log('๐คฌ');
}
return true;
}
or ์ํน์ฑ์ ํ๊ฐ๋ผ๋ true ๊ฐ ๋์ค๋ฉด ๋ค์๊ฐ false ๊ฑด ๋ง๊ฑด ๋คํ์์์ด true ๋ง ๋ฐํํ๊ธฐ๋๋ฌธ์
consol.log ๋ก ์ฐ์ด๋ด๋
์์ value1 ์ true ๋ก ๋ฐํํ๋ค ๋ฉ์ถ๋ค.
๋ฐ๋ผ์ or ์ ์ฌ์ฉํด์ ์ฐ์ฐ์ ๋ง์ด ํ๋ ํจ์๋ฅผ ํธ์ถํ ๋ ์ ์ฉํ๋ค.
๊ฐ๋จํ ์ฐ์ฐ์ ๊ฐ๋ค์ ๋จผ์ ํธ์ถํ๊ณ ํจ์๊ฐ์๊ฑด๋ค์ ๋ง์ง๋ชปํด ๋งจ ๋ค์ ๋ฃ๋๊ฒ ํจ์จ์ ์ด๋ค.
2. and : 3์ค์ 3๊ฐ ๋ชจ๋ true ๋ฉด true ๋ฆฌํด / ํ๊ฐ๋ผ๋ false ๋ฉด false
const value1 = true;
const value2 = 4 < 2; // 4๊ฐ 2๋ณด๋ค ์๋ค? ํ๋ฆฌ๋ฏ๋ก false
// && and ๋ชจ๋๋ค true๋ก ๋์ด์ผ ๋ฆฌํดํ๋ค ์ฆ ์ฒซ๋ฒ์งธ๊ฐ false ๋ฉด ๋ฉ์ถ๊ณ false ๋ฆฌํด
console.log(`and: ${value1 && value2 && check()}`);
function check() {
for (let i = 0; i < 10; i++) {
//์๊ฐ์ ์ก์๋จน์ง๋ง ๊ฒฐ๊ตญ ๋ฆฌํด๊ฐ์ธ true ๋ฅผ ๋ฐํํด์ค
console.log('๐คฌ');
}
return true;
}
์ฒซ๋ฒ์งธ๊ฐ false ๋ผ๋ฉด ๋ค์๋ ์คํ๋์ง ์์ผ๋ฏ๋ก or ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค์ํ์ฐ์ฐ์ ๋งจ ๋ง์ง๋ง์ ๋๋๊ฒ์ด ์ข๋ค.
and ์ ์์ฉ
๋ํ and ๋ null์ ํ๋จํ ๋๋ ์ ์ฉํ๋ค
์์ ์ ๊ฐ์ด nullableObject ๊ฐ null ์ด ์๋๋ something ๋ฒจ๋ฅ๋ฅผ ์คํ
if (nullableObject != null) {
nullableObject.something;
}
3. not : ๊ฐ์ ๋ฐ๋๋ก ๋ฐ๊ฟ์ค๋ค.
const value1 = true;
const value2 = 4 < 2; // 4๊ฐ 2๋ณด๋ค ์๋ค? ํ๋ฆฌ๋ฏ๋ก false
function check() {
for (let i = 0; i < 10; i++) {
//์๊ฐ์ ์ก์๋จน์ง๋ง ๊ฒฐ๊ตญ ๋ฆฌํด๊ฐ์ธ true ๋ฅผ ๋ฐํํด์ค
console.log('๐คฌ');
}
return true;
}
// !not ๊ฐ์ ๋ฐ๋๋ก ๋ฐ๊ฟ์ค
console.log(!value1);
console.log(!value1); > false // ์์์ true ํ ๋น๋ ๊ฐ์ ๋ฐ๊ฟ์ค๋ค.