[๐Ÿ’ป ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  FE 44๊ธฐ] ๋ถ€ํŠธ์บ ํ”„ - ๊ณ„์‚ฐ๊ธฐ ๊ตฌํ˜„ํ•˜๊ธฐ

JiEunยท2023๋…„ 2์›” 23์ผ
0
post-thumbnail

โœ”๏ธ ์‹œ์ž‘

์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณด์•˜๋‹ค.
์ด 3๋‹จ๊ณ„ ๊นŒ์ง€ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ๋‹จ๊ณ„๊ฐ€ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜๋ก ์–ด๋ ค์›Œ ์กŒ๋‹ค.
1๋‹จ๊ณ„๋งŒ ํ•ด๋„ ๊ณผ์ œ ์ œ์ถœ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
๊ทธ๋ž˜๋„ ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ๊ณ„ ๋งŒํผ ๋„์ „ํ•ด ๋ณด์•˜๋‹ค.

์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์› ๋‹ค...


๐Ÿ“ ๊ณ„์‚ฐ๊ธฐ ๊ตฌํ˜„

โœ”๏ธ 1๋‹จ๊ณ„

0 + 0 = 0

0 + 0 = 0 ํ™”๋ฉด์ด ํ‘œ์‹œ ๋˜์–ด ์žˆ์„ ๋•Œ
์ฒซ๋ฒˆ์งธ ์ž๋ฆฌ, ์—ฐ์‚ฐ๊ธฐํ˜ธ, ๋‘๋ฒˆ์งธ ์ž๋ฆฌ์— textContent๋ฅผ ์ด์šฉํ•ด ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค.

๊ฒฐ๊ณผ ๊ฐ’์˜ ๊ฒฝ์šฐ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•ด ์ž‘์—…ํ–ˆ๋‹ค.

  • ์—ฐ์‚ฐ๊ธฐํ˜ธ๊ฐ€ Number๊ฐ€ ์•„๋‹Œ String์œผ๋กœ ์ธ์‹์ด ๋ผ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์—ฐ์‚ฐ ๊ธฐํ˜ธ๊ฐ€ -,+,/,* ์ผ ๊ฒฝ์šฐ ๊ฐ ๊ธฐํ˜ธ์— ๋งž๊ฒŒ ์ž‘์—…ํ–ˆ๋‹ค.
//์กฐ๊ฑด๋ฌธ ์˜ˆ์‹œ
if (operator === '+') {
    result = Number(n1) + Number(n2);
  } else if (operator === '-') {
    result = Number(n1) - Number(n2);
  } ...(์ƒ๋žต)
  • textContent๋Š” String์œผ๋กœ ์ถœ๋ ฅ๋˜๊ธฐ ๋–„๋ฌธ์— Number()๋ฅผ ๊ฐ์‹ธ ์ฃผ์—ˆ๋‹ค.
String(result);
  • ์ถœ๋ ฅ ํ•  ๋• String์œผ๋กœ ๋‚˜์™€์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— String()์œผ๋กœ ๊ฐ์‹ธ ์ฃผ์—ˆ๋‹ค.

โœ”๏ธ 2๋‹จ๊ณ„

2๋‹จ๊ณ„๋Š” ์ข€ ๋” ๊ณ„์‚ฐ๊ธฐ ๋Š๋‚Œ์ด ๋‚  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค.

์ˆซ์ž๋ฅผ ํ•œ ์ž๋ฆฌ๋งŒ ํ‘œ์‹œํ•˜๋Š” ๊ฑด ๊ฐ„๋‹จํ–ˆ๋‹ค.
๋‘์ž๋ฆฟ ์ˆ˜ ์ด์ƒ์„ ํ‘œ์‹œํ•˜๋Š”๋ฐ ์ƒ๊ฐ ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค.

  • 0๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ๊ณ„์‚ฐ๊ธฐ๋กœ ์ฒ˜์Œ์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š” string์ด 0 ์ธ ๊ฒฝ์šฐ ์ž…๋ ฅํ•œ ์ˆซ์ž๋กœ ํ‘œ์‹œํ•œ๋‹ค.

    1

    (ex - 0์—์„œ 1๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ)

  • ๋‹ค์Œ ์ˆซ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ else if๋ฅผ ์‚ฌ์šฉํ•ด 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ
    ๊ธฐ์กด์— ์ž‘์„ฑ๋œ textContent์— ์ž…๋ ฅํ•œ ์ˆซ์ž๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.

    12

    (ex - 1์ด ํ™”๋ฉด์— ํ‘œ์‹œ๋œ ์ƒํƒœ์—์„œ 2๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ)

// ํ˜ผ์ž ์ž‘์„ฑํ•œ ์ฝ”๋“œ
if(display.textContent === '0'){ //์ฒซ ์ˆซ์ž๊ฐ€ 0์ธ ๊ฒฝ์šฐ
  display.textContent = buttonContent;
}else if(display.textContent !== '0'){ //์ˆซ์ž๊ฐ€ 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ
  display.textContent = display.textContent + buttonContent;
}

//๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ž‘์„ฑ๋œ ์ฝ”๋“œ
if(display.textContent === '0' || previousKey === 'operator'){ //์ฒซ ์ˆซ์ž๊ฐ€ 0์ธ ๊ฒฝ์šฐ
	display.textContent = buttonContent;
}else{ //์ˆซ์ž๊ฐ€ 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ
	display.textContent = display.textContent + buttonContent;// ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž ์ดํ›„ ๊ณ„์†  ๋‚˜์˜ค๊ฒŒ ํ•˜๋„๋ก
}

previousKey = 'number'; // ์žฌํ• ๋‹น

ํ˜ผ์ž ์—ด์‹ฌํžˆ ๋จธ๋ฆฌ ๊ตด๋ ค์„œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ
์ด๋ ‡๊ฒŒ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฒŒ ์‹ ๊ธฐ ํ•˜๋‹ค.

์ฝ”๋”ฉ์˜ ์„ธ๊ณ„๋Š” ์•„์ง ๋ฉ€์—ˆ๋‹ค.

๊ณ„์‚ฐ๊ธฐ ๊ตฌํ˜„ํ•˜๊ธฐ ์ž‘์—…์„ ํ†ตํ•ด ๋ฐฐ์› ๋˜ ์ ์€

  • ๋ณ€์ˆ˜์— ์ •๋ณด๋ฅผ ์žฌํ• ๋‹นํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ
  • ํ•จ์ˆ˜(์ธ์ž, ์ธ์ž, ์ธ์ž)์ƒ๊ฐํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์กฐ๊ฑด๋ฌธ์„ ์ข€ ๋” ๊ฐ„๋žตํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

๋“ฑ์„ ๋ฐฐ์šฐ๊ฒŒ ๋œ ๊ฑฐ ๊ฐ™๋‹ค.

โœ”๏ธ 3๋‹จ๊ณ„

์•„์‰ฝ๊ฒŒ๋„ 3๋‹จ๊ณ„ ๊นŒ์ง€ ๊ฐ€์ง€ ๋ชปํ–ˆ๋‹ค.
์ˆซ์ž, ์—ฐ์‚ฐ๊ธฐํ˜ธ๋ฅผ ๋‚˜์—ดํ•˜๋Š”๋ฐ ๊นŒ์ง€ ์„ฑ๊ณตํ–ˆ์ง€๋งŒ
๋‘๋ฒˆ์งธ ๋“ค์–ด๊ฐ€๋Š” ์ˆซ์ž๊ฐ€ ํ•˜๋‚˜๋งŒ ๋‚˜์˜ค๊ณ  ๊ฒฐ๊ณผ ๊ฐ’์ด ์ž๊พธ ์ด์ƒํ•˜๊ฒŒ ๋‚˜์™”๋‹ค.
์‹œ๊ฐ„๋„ ์• ๋งคํ•ด์„œ 3๋‹จ๊ณ„ ๊นŒ์ง€ ๊ฐ€์ง€ ๋ชปํ–ˆ๋‹ค...


โœ๏ธ ๋งˆ์น˜๋ฉฐ

์ด๋ฒˆ ํ•™์Šต๋ถ€ํ„ฐ ๋‹ค๋ฅธ ํŽ˜์–ด๋ถ„๊ณผ ํ™œ๋™ํ•œ๋‹ค.
ํŽ˜์–ด ๋ถ„์˜ ์ปดํ“จํ„ฐ ์™€์ดํŒŒ์ด๊ฐ€ ์ž˜ ์•ˆํ„ฐ์ ธ์„œ ๊ทธ๋Ÿฐ์ง€ ์ž๊พธ ๋ฒ„๋ฒ…๊ฑฐ๋ฆฌ์…จ๋‹ค.
์ธ์‚ฌ๋ฅผ ์ œ๋Œ€๋กœ ๋ชป ํ•œ๊ฑฐ ๊ฐ™์•„ ์•„์‰ฝ๋‹ค.

ํŽ˜์–ด๋ถ„๊ป˜ ๋‚ด๊ฐ€ ์–ด๋Š ์ •๋„ ์ž‘์—…์„ ํ–ˆ๊ณ 
์ด ๋ถ€๋ถ„์€ ์กฐ๊ธˆ ์–ด๋ ค์›Œ์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์‹œ๋„ํ–ˆ๋‹ค ๋“ฑ์„ ์„ค๋ช…๋“œ๋ ธ๋‹ค.

๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ๋ถ€๋ถ„์„ ์ดํ•ดํ•˜๋ฉด์„œ ์„ค๋ช…๊นŒ์ง€ ํ•˜๋‹ˆ
ํŽ˜์–ด๋ถ„์—๊ฒŒ๋„ ๋‚˜์—๊ฒŒ ์ดํ•ดํ•˜๋Š”๋ฐ ๋งŽ์€ ๋„์›€์ด ๋์„ ๊ฒƒ ๊ฐ™๋‹ค.

๊ณ„์‚ฐ๊ธฐ ๊ตฌํ˜„์„ ํ•˜๋ฉด์„œ ์žฌ๋ฐŒ๊ธฐ๋„ ํ–ˆ๊ณ 
์–ด๋–ป๊ฒŒ ์กฐ๊ฑด๋ฌธ์„ ์ž‘์„ฑํ•ด์•ผ ๊ตฌํ˜„๋ ๊นŒ? ๋‚ด๊ฐ€ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ ์™œ ์ด๋ ‡๊ฒŒ ์ž‘๋™๋˜๋Š”๊ฑฐ์ง€?
๋“ฑ ์—ฌ๋Ÿฌ ์ƒ๊ฐ์„ ๊ฐ€์ง€๋ฉฐ ์ž‘์—…ํ–ˆ๋‹ค.

๋น„๋ก 3๋‹จ๊ณ„ ์ค‘ 2๋‹จ๊ณ„ ๋ฐ˜์ ˆ๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌ ์ง€์—ˆ์ง€๋งŒ
์‹ค์‹œ๊ฐ„ ๊ฐ•์˜๋ฅผ ๋ณด๋ฉด์„œ ์–ด๋Š ์ •๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋‹ค์Œ์—” ๋‚ด๊ฐ€ HTML/CSS๊นŒ์ง€๋งŒ ์ž‘์—…ํ•œ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•ด ๋ด์•ผ๊ฒ ๋‹ค.

profile
๐Ÿ’ป ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋ชฉํ‘œ๋กœ ์„ฑ์žฅ ์ค‘! (์•Œ์•„๋ดค๋˜ ๋‚ด์šฉ ๋“ฑ์„ ์ •๋ฆฌํ•˜๊ธฐ)

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