Input + Output = True

ํ•ญํ•ด99 - 2์ฃผ ์ฐจ ํšŒ๊ณ  ํ’€์Šคํƒ ํ”„๋กœ์ ํŠธ && ์–ธ์–ด ๊ธฐ๋ณธ๊ธฐ[javascript] ๋ณธ๋ฌธ

๐Ÿ“”๊ฐœ๋ฐœ ์ผ๊ธฐ

ํ•ญํ•ด99 - 2์ฃผ ์ฐจ ํšŒ๊ณ  ํ’€์Šคํƒ ํ”„๋กœ์ ํŠธ && ์–ธ์–ด ๊ธฐ๋ณธ๊ธฐ[javascript]

IOTrue 2022. 12. 18. 15:22

ํ•ญํ•ด99 - 2์ฃผ ์ฐจ ํšŒ๊ณ   (ํ’€์Šคํƒ ํ”„๋กœ์ ํŠธ && ์–ธ์–ด ๊ธฐ๋ณธ๊ธฐ[javascript])

ํ•ญํ•ด99๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๋ฒŒ์จ 2์ฃผ ์ฐจ๊ฐ€ ๋๋‚œ ์ผ์š”์ผ์ด๋‹ค!

๋‹ค์Œ ์ฃผ๊ฐ€ ๋ฒŒ์จ ํฌ๋ฆฌ์Šค๋งˆ์Šค๋ผ๋‹ˆ!!!๐ŸŽ„โ˜ƒ๐ŸŽ

๋ฒŒ์จ 2์ฃผ์ฐจ๊ฐ€ ๋๋‚ฌ๋‹ค๋‹ˆ!!!

+3์ฃผ์ฐจ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฃผ์ฐจ๊ฐ€ ์ง„ํ–‰ ์ค‘์ด๋ผ์„œ ํšŒ๊ณ ๋ก ์ž‘์„ฑํ•˜๊ณ  ๋‹ค์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๋Ÿฌ ๊ฐ€์•ผํ•œ๋‹ค ๐Ÿ˜€

ํ’€์Šคํƒ ๋ฏธ๋‹ˆํ”„๋กœ์ ํŠธ๋ž‘ ์–ธ์–ด๊ธฐ๋ณธ๊ธฐ (์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ) ์ฃผ์ฐจ์ธ 2์ฃผ์ฐจ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ

๋‚ด ์‹ค๋ ฅ์ด 1์ฃผ์ผ ์ „์— ๋น„ํ•ด ์ •๋ง ๋งŽ์ด ์„ฑ์žฅํ–ˆ๋‹ค๊ณ  ๋А๋‚€๋‹ค.

ํ’€์Šคํƒ ๋ฏธ๋‹ˆํ”„๋กœ์ ํŠธ๋Š” '๊ธฐ๋Šฅ ์œ„์ฃผ์˜ ๊ตฌํ˜„'์„ ๋ชฉํ‘œ๋กœ ํ–ˆ์œผ๋ฉฐ

์ง„ํ–‰ํ•˜๋ฉด์„œ ํ™”๋ฉด๊ฐœ๋ฐœ, ์‚ฌ์šฉ์ž ํŽธ์˜์„ฑ, ๋ฐฑ์—”๋“œ์™€์˜ ํ†ต์‹ , API ์ž‘์„ฑ, DB ์ ‘๊ทผ ๋“ฑ

์›น ๊ฐœ๋ฐœ์˜ ์ „๋ฐ˜์ ์ธ ๋ถ€๋ถ„์„ ๋ชจ๋‘ ํŒ€์›๊ณผ์˜ ํ˜‘์—…์„ ํ†ตํ•ด ๊ฒฝํ—˜ ํ–ˆ๊ณ ,

๋ฐฑ์—”๋“œ ์ž‘์—…์ด ๋งŽ์€ ๋ถ„๊ณผ์˜ ์†Œํ†ต์„ ํ†ตํ•ด ์ž‘์—… ์ „ ๊ทœ์น™ ๋ช…์„ธ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์˜ ์ค‘์š”์„ฑ์„

ํ•œ๋ฒˆ ๋” ๋А๊ผˆ๋‹ค(์ž‘์—… ์ „ ๊ทœ์น™ ๋ช…์„ธ๋ฅผ ์ž˜ ์ •ํ•˜๊ณ  ์ง„ํ–‰ํ•œ ๋•๋ถ„์— ํ”„๋กœ์ ํŠธ๊ฐ€ ์ˆ˜์›”ํ–ˆ์Œ์„ ๋А๊ผˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค)

 

ํ”„๋กœ์ ํŠธ ์ดˆ๋ฐ˜์— ํŒ€์›๋ถ„๋“ค๊ณผ ์ž‘์—… ์„ธํŒ…์„ ํ•˜๋ฉด์„œ 'git' ์—๋Ÿฌ๊ฐ€ ์ข…์ข… ๋‚ฌ์—ˆ๋Š”๋ฐ

์ด ๋ฌธ์ œ๋“ค์€ ๋ชจ๋‘ ๋‹ค ์ฒ˜์Œ ์ ‘ํ•ด๋ณธ ์—๋Ÿฌ์˜€๊ธฐ์— ํ•ด๊ฒฐํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง„ ์•Š์•˜๋‹ค.

ํ•˜~์ง€~๋งŒ, ๊ฐ“ ๊ตฌ๊ธ€!

๊ตฌ๊ธ€๋ง์œผ๋กœ ๋ชจ๋“  ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ–ˆ๊ณ , ์ด ๋ถ€๋ถ„์€ ๋”ฐ๋กœ ์ž‘์„ฑํ•˜๊ฒ ๋‹ค.

ํ”„๋กœ์ ํŠธ ๊ธฐํš ๋‹จ๊ณ„์—์„œ๋Š” ์˜๊ฒฌ์„ ํ•˜๋‚˜ ๋ƒˆ๋Š”๋ฐ ํŒ€์› ๋ถ„๋“ค ๋ชจ๋‘๊ฐ€ ์ข‹๋‹ค๊ณ  ํ•˜์…”์„œ

๋‚ด ์˜๊ฒฌ์ด ๋งŽ์ด ๋ฐ˜์˜์ด ๋œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹œ์ž‘์ด ๋˜์—ˆ๋‹ค. ํ’€์Šคํƒ ํ”„๋กœ์ ํŠธ 2์กฐ ํŒ€์›๋ถ„๋“ค ๋ชจ๋‘ ์ข‹์œผ์‹  ๋ถ„๋“ค!๐Ÿ˜€

๊ทธ๋ ‡๊ฒŒ ์•ฝ 5์ผ ๋™์•ˆ ๋ชจ๋‘ ๊ณ ๊ตฐ๋ถ„ํˆฌํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ–ˆ๊ณ , (๋ชจ๋‘ ๋จธ๋ฆฌ๋ฅผ ๋งž๋Œ€์–ด ์˜ค๋ฅ˜์™€ ์—๋Ÿฌ๋ฅผ ๊ณต์œ ํ•ด๊ฐ€๋ฉฐ๐Ÿ•ต๏ธ‍โ™€๏ธ)

ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ ๋‹น์ผ์—” ๋งค๋‹ˆ์ €๋‹˜๋“ค๊ป˜ ์•„์ฃผ ์ข‹์•˜๋‹ค๋Š” ์นญ์ฐฌ์„ ๋“ค์—ˆ๋‹ค.

๋ฌผ๋ก  ๋ณด์™„์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์€ ๋‚ด ๋ˆˆ์—๋„ ๋ช…ํ™•ํžˆ ๋ณด์˜€์ง€๋งŒ,

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ๊ธฐ๋Œ€ํ•œ ์  ๋ณด๋‹ค ๋” ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ๊ณ ๋ คํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜์˜€๊ธฐ์— ์ข‹๊ฒŒ ๋ด์ฃผ์…จ๋‹ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”ผ๋“œ๋ฐฑ ์ฃผ์…จ๋˜ ๋ถ€๋ถ„๋“ค์„ ๊ฑฐ์˜ ๋‹ค ๋ฐ˜์˜ํ•œ ์ ์—์„œ ๋” ์ข‹๊ฒŒ ๋ด์ฃผ์…จ๋‹ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ’€์Šคํƒ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋Š” ์•„์ฃผ ํ๋ญ‡ํ•˜๊ฒŒ ๋งˆ๋ฌด๋ฆฌ๊ฐ€ ๋˜์—ˆ๋‹ค! ํ›„ํ›„ํ›Ÿ

 

๋‚ด๊ฐ€ ๋‹ด๋‹นํ•œ ๋ฉ”์ธ ํŽ˜์ด์ง€๋‹ค

์ด์–ด์„œ ๋ฐ”๋กœ ์–ธ์–ด ๊ธฐ๋ณธ๊ธฐ (2์ผ๊ฐ„)๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๊ณ , ์ง€๊ธˆ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ(์•Œ๊ณ ๋ฆฌ์ฆ˜) ์ฃผ์ฐจ๊ฐ€ ์ง„ํ–‰ ์ค‘์ด๋‹ค.

์–ธ์–ด ๊ธฐ๋ณธ๊ธฐ ์ฃผ์ฐจ์—” ํ•ญํ•ด์—์„œ ํƒ๋ฐฐ๋กœ ๋ณด๋‚ด์ค€ ์ฑ…์œผ๋กœ ํŒ€์› ๋ถ„๋“ค๊ณผ ๊ฐ™์ด ์Šคํ„ฐ๋””๋ฅผ ํ–ˆ๊ณ ,

(์ด ์Šคํ„ฐ๋””๋Š” 6์ฃผ ๋™์•ˆ ๊ณ„์† ํ‹ˆํ‹ˆ์ด ์ง„ํ–‰๋œ๋‹ค)

๊ทธ๊ฒƒ๋“ค์„ ๋ธ”๋กœ๊ทธ๋กœ ์ •๋ฆฌ ํ•˜๋ฉด์„œ javascript์— ๋Œ€ํ•ด ๋งŽ์€ ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค (์—ญ์‹œ ๊ธฐ๋ณธ์„ ํƒ„ํƒ„ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค!๐Ÿ˜)

https://iotrue.tistory.com/16 > javascript ๊ธฐ๋ณธ์ง€์‹ ์ •๋ฆฌ ๋‚ด์šฉ

 

2์ฃผ์ฐจ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์•Œ๊ฒŒ๋œ ๋‚ด์šฉ๋“ค์„ ์•„๋ž˜์— ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค.

๐Ÿ˜ŽJavaScript์˜ ES๋ž€?, ES5/ES6 ๋ฌธ๋ฒ• ์ฐจ์ด

*JavaScript์˜ ES๋ž€?

ES(ECMAScript) : 'Javascript์˜ ํ‘œ์ค€ ๊ทœ๊ฒฉ'์„ ์˜๋ฏธํ•จ.

ECMA-262 ๊ธฐ์ˆ  ๊ทœ๊ฒฉ์— ๋”ฐ๋ผ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งํ•˜๋ฉฐ,

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ‘œ์ค€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.

ํ‘œ์ค€ํ™”๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค

ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ
๊ธฐ๋Šฅ์ด ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ

์‰ฝ๊ฒŒ ์–˜๊ธฐํ•˜์ž๋ฉด, ECMAScript๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์˜ ํ‘œ์ค€ ๊ทœ๊ฒฉ ('์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•ด!')์„ ์˜๋ฏธํ•˜๊ณ 

javascript๋Š” ๊ทธ ๊ทœ๊ฒฉ์„ ๋”ฐ๋ฅด๋Š” ์–ธ์–ด์ด๋‹ค.

*ES5/ES6 ๋ฌธ๋ฒ• ์ฐจ์ด

๐Ÿ’ก TIP
Javascript ES5 ECMAScript 2009๋Š” JavaScript์˜ ์ฒซ ๋ฒˆ์งธ ์ฃผ์š” ๊ฐœ์ •ํŒ์ด๋‹ค.
Javascript ES6 ECMAScript 2015๋Š” JavaScript์˜ ๋‘ ๋ฒˆ์งธ ์ฃผ์š” ๊ฐœ์ •ํŒ์ด๋‹ค.
ECMAScript 2015๋Š” ES6 ๋ฐ ECMAScript 6์œผ๋กœ๋„ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.
ES5 ๊ธฐ๋ฐ˜์œผ๋กœ๋„ ์ถฉ๋ถ„ํžˆ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ฝ”๋“œ์˜ ์ถ•์•ฝ ๋ฐ ํšจ์œจ์„ฑ๋ฉด์—์„œ๋Š” ES6 ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•จ.

 

ES6์—์„œ ์ถ”๊ฐ€๋œ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

โ–ถ ๋ณ€์ˆ˜์„ ์–ธ

๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ… ๋ฌธ์ œ ๋ณ€์ˆ˜ ์žฌํ• ๋‹น ๊ฐ€๋Šฅ์—ฌ๋ถ€ ์Šค์ฝ”ํ”„ ์˜์—ญ
const ๋ฏธ ๋ฐœ์ƒ ๋ถˆ๊ฐ€๋Šฅ Block Scope(์ค‘๊ด„ํ˜ธ ๋ธ”๋ก ๋‚ด์—์„œ ์œ ํšจํ•จ)
let ๋ฏธ ๋ฐœ์ƒ ๊ฐ€๋Šฅ Block Scope(์ค‘๊ด„ํ˜ธ ๋ธ”๋ก ๋‚ด์—์„œ ์œ ํšจํ•จ)
var (ES5) ๋ฐœ์ƒ ๊ฐ€๋Šฅ Function Scope (ํ•จ์ˆ˜๋‚ด์—์„œ ์œ ํšจํ•จ)

 

โ–ถ ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด : ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ํ‘œ๊ธฐ๋ฒ•. ๋ฐฑํ‹ฑ์„ ์‚ฌ์šฉํ•œ๋‹ค.

// ES5

var intro = '์ œ ์ด๋ฆ„์€' + name + '์ž…๋‹ˆ๋‹ค'

// ES6

const intro = `์ œ ์ด๋ฆ„์€ ${name}์ž…๋‹ˆ๋‹ค`

>๋ฌธ์ž์—ด ํ‘œ๊ธฐ๋ฒ•์ด ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•ด์กŒ๋‹ค. ํŠนํžˆ ์Šคํฌ๋ฆฝํŠธ๋กœ html์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ƒ๋‹นํžˆ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค.


โ–ถ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜

// ES5
var x = function(a, b) {
   return a + b;
}
// ES6
const x = (a, b) => a * b

>ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์—์„œ์˜ this๋Š” ๋ฐ”๊นฅ์˜ this๋ฅผ ๊ฐ€๋ฅดํ‚จ๋‹ค (๋ฐ”์ธ๋”ฉ ๋˜์ง€ ์•Š๋Š”๋‹ค)

 

โ–ถ Default parameter

// ES5
var person = function(name) {
  var name = name || "์ด๋ฆ„"
  return name
}
// ES6
const person = function(name="์ด๋ฆ„") {
  return name
}

 

์ด ์™ธ์—๋„ ๋งŽ์€ ๋‚ด์šฉ์ด ์žˆ๊ณ , ์•„๋ž˜์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

https://www.w3schools.com/js/js_es6.asp

๐Ÿ˜Žํ•ญํ•ด๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ด๋ฒˆ ์ฃผ์— ๋ฐฐ์šด ์ , ๋А๋‚€ ์ 

์›น ๊ฐœ๋ฐœ์˜ ์ „๋ฐ˜์ ์ธ ํ๋ฆ„๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ์•Œ๊ฒŒ ๋๊ณ 

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฃผ์ฐจ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐœ๋ฐœ์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ณ  ์•Œ์•„๊ฐ€๊ณ  ์žˆ๋‹ค.

๊ฐœ๋ฐœ์ด๋ผ๋Š” ๊ฒŒ ์‰ฌ์šด ๊ฑด ์•„๋‹ˆ์ง€๋งŒ ํ•˜๋Š” ๋งŒํผ ์‹ค๋ ฅ์ด ๋Š˜ ์ˆ˜ ์žˆ๋Š” ๋ถ„์•ผ์ด๊ณ 

๋‚ด๊ฐ€ ๋ชฐ์ž…์ด ๊ฐ€์žฅ ์ž˜ ๋˜๋Š” ๋ถ„์•ผ๋ผ๋Š” ๊ฒƒ์„ ๋”์šฑ ๋А๊ผˆ๋‹ค.

๋ชฐ์ž…์˜ ์žฅ+๋‹จ์ ์€ ์‹œ๊ฐ„ ๊ฐ€๋Š” ์ค„ ๋ชจ๋ฅด๊ณ  ๊ณ„์† ์•‰์•„ ์žˆ๊ฒŒ ๋œ๋‹ค๋Š” ์ ์ด๋‹ค.

๋ชฐ์ž…์ด ์ž˜ ๋˜๋Š” ๋งŒํผ, ์šด๋™์œผ๋กœ ๊ฑด๊ฐ•๊ด€๋ฆฌ๋„ ๊พธ์ค€ํžˆ ํ•ด์•ผ์ง€!๐Ÿ’ช

 

์ด๋ฒˆ์ฃผ ๊ณต๋ถ€ ์‹œ๊ฐ„, ๋” ํ•ด์•ผํ•œ๋‹ค!

๋ธ”๋กœ๊ทธ๋ฅผ ์“ฐ๋‹ค๋ณด๋‹ˆ ๋ฒŒ์จ ์‹œ๊ฐ„์ด 3์‹œ๋‹ค!

๋‹ค์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜๋Ÿฌ ๊ฐ€๋ณด์ž๊ณ !

๊ฐ€๋ณด์ž๊ณ !

 

Comments