MapleStory Cookie With Halo

โœจ UI/๐Ÿ’› JS

[JS]๋Œ€์นญ์—ฐ์‚ฐ : ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•œ ์ดˆ๊ธฐํ™” Short Circuit Evaluation

๋‰ด์ด NUEY 2023. 7. 30. 15:55
๋ฐ˜์‘ํ˜•

 

JS์—์„œ null์ด๋‚˜ undefined๋Š” false๋กœ ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค.

 

  • ๋”ฐ๋ผ์„œ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž || ์™€ && ์ด์šฉํ•ด์„œ ์ดˆ๊ธฐํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

||

 

const nulll = null;
const empty = ``;
const exist = `exist`;

let result;

console.log(`nulll || empty : ${result = nulll || empty}`);
console.log(`nulll || exist : ${result = nulll || exist}`);
console.log(`empty || exist : ${result = empty || exist}`);
console.log(`nulll || empty || exist : ${result = nulll || empty || exist}`);

๋ง๋กœ ์„ค๋ช…ํ•˜๋ฉด ์˜คํžˆ๋ ค ํ—ท๊ฐˆ๋ฆฌ๊ตฌ์š”. ์ฝ”๋“œ ์ถœ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ๋ณด์‹œ๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

  • null  ||   ' '  →  ๋นˆ ๋ฌธ์ž์—ด ์ถœ๋ ฅ

  • ' '  ||  '๊ฐ’'  →  ๊ฐ’์ด ์ถœ๋ ฅ

  • null  ||  ' '  ||  '๊ฐ’'  →  ๊ฐ’์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

 


.

&&

 

๊ทธ๋ ‡๋‹ค๋ฉด && ๋Š” ์–ด๋–จ๊นŒ์š”?
|| ๋ฅผ && ๋กœ๋งŒ ๋ฐ”๊ฟ”์„œ ์‹คํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

&&๋Š” ์–‘์ชฝ์˜ ๋น„๊ต๊ฐ’์ด ๋ชจ๋‘ true(๊ฐ’์ด ์žˆ์–ด์•ผ๋งŒ) ์ถœ๋ ฅ๋˜๊ธฐ ๋•Œ๋ฌธ์—
์•ž์˜ ๊ฐ’์ด false์ผ ๋•Œ์— ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒŒ ๋‹ค๋ฅด์— ๋ช‡ ๊ฐ€์ง€ ์ƒํ™ฉ์„ ๋” ์ถ”๊ฐ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
const nulll = null;
const empty = ``;
const exist = `exist`;

let result;

console.log(`nulll && empty : ${result = nulll && empty}`);
console.log(`nulll && exist : ${result = nulll && exist}`);
console.log(`empty && nulll : ${result = empty && nulll}`)
console.log(`empty && exist : ${result = empty && exist}`);
console.log(`exist && empty : ${result = exist && empty}`);
console.log(`nulll && empty && exist : ${result = nulll && empty && exist}`);
console.log(`empty && nulll && exist : ${result = empty && nulll && exist}`);

 

  • null ๊ณผ '' ์„ ๋น„๊ตํ•˜๋ฉด ์ด๋ฏธ null์—์„œ false์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ๋ฒˆ์งธ null์ด ์ถœ๋ ฅ.

  • '' ๋ฌธ์ž์—ด๋„ false์ด๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ €์˜ค๋ฉด ''์ด ์ถœ๋ ฅ.

  • '' && 'exist'๋ฅผ ๋น„๊ตํ•ด๋ณด๋ฉด → '' ๋นˆ๋ฌธ์ž์—ด๋„ false๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


 

๊ทธ๋Ÿผ ๊ฐ’์ด ๋‘˜๋‹ค ์žˆ์„ ๋•Œ
|| ์™€ && ๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊นŒ์š”?

 

const nulll = null;
const empty = ``;
const exist = `exist`;

let result;

console.log(`1 && exist : ${result = 1 && exist}`);
console.log(`1 || exist : ${result = 1 || exist}`)

๋‘˜ ๋‹ค ๊ฐ’์ด ์žˆ์„ ๊ฒฝ์šฐ

 

  • &&  →  ๋’ค์˜ ๊ฐ’์ด ์ถœ๋ ฅ

  • ||   →   ์•ž์˜ ๊ฐ’์ด ์ถœ๋ ฅ


 

โ€ป์ฃผ์˜
์•„์˜ˆ ์„ ์–ธ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ

 

 

  • null์„ returnํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ
  • && ์‚ฌ์šฉ์‹œ ํ•จ์ˆ˜๊ฐ€ ์ด๋ฏธ null์˜ ๊ฐ’์„ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— false๋กœ ํ‰๊ฐ€๋˜์–ด null์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.


 

 

  • ํ•˜์ง€๋งŒ &&์„ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์„ ์–ธ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๊ฐ€ ์•–์— ์˜จ๋‹ค๋ฉด error๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ์™ผ์ชฝ, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์•ž์˜ ๊ฐ’์„ ๋จผ์ € ์ฝ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .

  • || ๋Š” ์–‘์ชฝ ๊ฐ’์„ ๋ชจ๋‘ ์ฝ์œผ๋‹ˆ ๋’ค์— ์„ ์–ธ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋ฅผ ๋’ค์— ์ ์–ด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ error๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ˜์‘ํ˜•