๐Ÿ‘ŒAND ์—ฐ์ž”์ž

์ด์ค€์„ยท2024๋…„ 4์›” 8์ผ

๊ฐœ๋… ์ •๋ฆฌ

๋ชฉ๋ก ๋ณด๊ธฐ
10/11

๐Ÿ‘ŒAND ์—ฐ์ž”์ž๋ž€?

  • && ์—ฐ์‚ฐ์ž๋Š” ๋…ผ๋ฆฌ์  AND ์—ฐ์‚ฐ์ž๋กœ, JavaScript์—์„œ ๋‘ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋น„๊ตํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์—ฐ์‚ฐ์ž๋Š” ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ถ€ํ„ฐ ํ‰๊ฐ€ํ•˜๋ฉฐ, ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ๋ชจ๋‘ ์ฐธ(true)์œผ๋กœ ํ‰๊ฐ€๋  ๊ฒฝ์šฐ์—๋งŒ true๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๊ฑฐ์ง“(false)์œผ๋กœ ํ‰๊ฐ€๋˜๋ฉด, ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ํ‰๊ฐ€๋˜์ง€ ์•Š๊ณ , && ์—ฐ์‚ฐ์ž๋Š” ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์„ฑ ๋•Œ๋ฌธ์— && ์—ฐ์‚ฐ์ž๋Š” ์กฐ๊ฑด๋ถ€ ์‹คํ–‰์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • && ์—ฐ์‚ฐ์ž๋Š” ๋‘ ์กฐ๊ฑด์ด ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ๋งŒ ์ฐธ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋…ผ๋ฆฌ์  AND ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ๋ฝ ํ‰๊ฐ€๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด๋ถ€ ์‹คํ–‰์— ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๊ฑฐ์ง“์œผ๋กœ ํ‰๊ฐ€๋  ๊ฒฝ์šฐ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ํ‰๊ฐ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์„ฑ์€ ์ฝ”๋“œ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

โš™๏ธAND ์—ฐ์ž”์ž ์ž‘๋™๋ฐฉ์‹

  1. ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž ํ‰๊ฐ€: && ์—ฐ์‚ฐ์ž๋Š” ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋จผ์ € ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋‹จ๋ฝ ํ‰๊ฐ€(Short-circuit evaluation):
    -์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๊ฑฐ์ง“์œผ๋กœ ํ‰๊ฐ€๋  ๊ฒฝ์šฐ: && ์—ฐ์‚ฐ์ž๋Š” ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ‰๊ฐ€ํ•˜์ง€ ์•Š๊ณ , ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    -์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์ฐธ์œผ๋กœ ํ‰๊ฐ€๋  ๊ฒฝ์šฐ: && ์—ฐ์‚ฐ์ž๋Š” ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ, ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ํ‰๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ && ์—ฐ์‚ฐ์ž์˜ ์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
console.log(true && true);       // true
console.log(true && false);      // false
console.log(false && true);      // false
console.log(false && false);     // false
console.log('Cat' && 'Dog');     // 'Dog'
console.log(false && 'Cat');     // false
console.log('Cat' && false);     // false

โš™๏ธAND ์—ฐ์ž”์ž ์กฐ๊ฑด๋ถ€ ์‹คํ–‰

let a = true;
a && console.log('a๊ฐ€ ์ฐธ์ž…๋‹ˆ๋‹ค.'); // 'a๊ฐ€ ์ฐธ์ž…๋‹ˆ๋‹ค.' ์ถœ๋ ฅ

let b = false;
b && console.log('b๊ฐ€ ์ฐธ์ž…๋‹ˆ๋‹ค.'); // ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅ๋˜์ง€ ์•Š์Œ

์ข€ ๋” ๋ณต์žกํ•œ ์˜ˆ์‹œ

function checkAccess(user) {
  return user.age > 18 && user.hasAccess;
}

let user = { age: 20, hasAccess: true };
if (checkAccess(user)) {
  console.log("์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.");
} else {
  console.log("์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.");
}

์ด ์˜ˆ์‹œ์—์„œ checkAccess ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ 18์„ธ ์ด์ƒ์ด๊ณ  ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ true๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. && ์—ฐ์‚ฐ์ž๋Š” ๋จผ์ € user.age > 18์„ ํ‰๊ฐ€ํ•˜๊ณ , ์ด ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์šฐ์—๋งŒ user.hasAccess๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ์กฐ๊ฑด ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ๋งŒ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ, ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ํšจ๊ณผ์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

  • AND ์—ฐ์‚ฐ์ž(&&)๋ฅผ ์‚ฌ์šฉํ•œ ์กฐ๊ฑด๋ถ€ ์‹คํ–‰์€ ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ , ํ•„์š”ํ•œ ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ๋งŒ ํŠน์ • ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋‹จ๋ฝ ํ‰๊ฐ€ ๋•๋ถ„์—, ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‹คํ–‰์„ ๋ฐฉ์ง€ํ•˜์—ฌ ํšจ์œจ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
profile
ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€