javascript๐Ÿช“/์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž : || (or) $$ (and) !(not)

hyojinny 2023. 8. 30. 01:10

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 ํ• ๋‹น๋œ ๊ฐ’์„ ๋ฐ”๊ฟ”์ค€๋‹ค.