์๋ ๊ธ์ ๋ ธ๋ง๋์ฝ๋ '๋ฐ๋๋ผ JS๋ก ํฌ๋กฌ ์ฑ ๋ง๋ค๊ธฐ'๋ฅผ ์๊ฐํ๋ฉฐ ๋ฐฐ์ด ์ ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
๐ Function(ํจ์)
ํจ์๋ ํ๋์ ๋ก์ง์ ์ฌ์ํํ ์ ์๋๋ก ํ๋ ๊ฒ์ผ๋ก ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ฌ์ค๋ค. - ์ํ์ฝ๋ฉ -
function ํจ์๋ช
() {
}
ํจ์๋ function
๋ค์ ํจ์์ ์ด๋ฆ์ด ์ค๊ณ , ()
์๊ดํธ๊ฐ ๋ฐ๋ผ์จ๋ค. ์๊ดํธ์ ์ธ์(argument)๋ผ๋ ๊ฐ์ด ์ฐจ๋ก๋ก ๋ค์ด์ค๋๋ฐ ์ด ๊ฐ์ ํจ์๋ฅผ ํธ์ถํ ๋ ํจ์์ ๋ก์ง์ผ๋ก ์ ๋ฌ๋ ๋ณ์(parameter)๋ค. ์ธ์๋ ์๋ต ํ ์ ์๋ค. ํจ์๋ฅผ ํธ์ถ ํ์ ๋ ์คํํ๊ฒ ๋ ๋ถ๋ถ์ด {}
์ค๊ดํธ ์์ชฝ์ ์จ๋ค. -์ํ์ฝ๋ฉ-
function sayHello(name,age){
console.log("Hello" ,name, ", you are", age, " years old!")
}
sayHello("yeji", 27)
//Hello yeji, you are 27 yeas old!
sayHello
ํจ์๋ ๋๊ฐ์ ๋งค๊ฐ๋ณ์(parameter) name๊ณผ age๋ฅผ ๊ฐ๋๋ค. sayHello("yeji",27)
๋ "yeji"์ 27์ ์
๋ ฅ ๊ฐ์ผ๋ก ๋ฐ์, Hello yeji, you are 27 years old ๋ผ๋ ๊ฐ์ ์ถ๋ ฅํ๋ค. ํจ์๋ฅผ ์ฌ์ฉํ ๋ ์
๋ ฅ๋๋ ๊ฐ์ ์ธ์(argument)๋ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ ๋ณดํต์ parameter์ argument๋ฅผ ๊ตฌ๋ถ์์ด ์ฌ์ฉํ๋ค.
function sayHello(name,age){
console.log(`Hello ${name}, you are ${age} years old!`)
}
sayHello("yeji", 27)
//Hello yeji, you are 17 yeas old!
''
๋ ""
๋ก string์ ์ฐ๋ฉด ๋์ด์ฐ๊ธฐ๋ฅผ ์ ์ํ๊ณ , ๋ฐ์ดํ๋ฅผ ๋ฐ๋ณตํด์ผํ๋ฏ๋ก ๊ธดstring์ ์ธ ๊ฒฝ์ฐ ๋ถํธํ ์ ์๋ค. ๊ทธ๋์ ๋์จ ๊ฒ์ด ๋ฐฑํฑ(``)
์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
console.log
์ return
์ ์ฐจ์ด์ด๋ฒ์ ๊ณต๋ถํ๋ฉด์ ๊ฐ์ฅ ์ดํดํ๊ธฐ ์ด๋ ค์ ๋ ๋ถ๋ถ์ด๋ค.
ํต์ฌ์ " console.log
๋ ์ฝ์์ฐฝ์ show๋ณด์ฌ์ค ๋ฟ, ๊ฐ์ ๋ฐํํ์ง๋ ์๋๋ค. return
์ ๊ฐ์ ๋ฐํํ๊ณ ํจ์๋ฅผ ์ข
๋ฃ์ํจ๋ค. "
์ฌ๊ธฐ์ greet
์ด๋ผ๋ ๋ณ์๋ sayHello
ํจ์์ return๊ฐ์ผ๋ก ์ ์ ๋์๋ค. 5๋ฒ์ค์ ์คํ์ ๋ฐ๋ผ ์ฝ์์ฐฝ์ "Hello yeji, you are 27 years old!"๊ฐ ๋ณด์ฌ์ง๋ค. ๋ฐ๋ฉด 6๋ฒ์ค์ console.log()
๋ undefined๋๋ค. ์๋ํ๋ฉด sayHello
์ return๊ฐ ์์ฒด๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. sayHello
ํจ์๋ console์ฐฝ์ ๊ธ์ ์ฐ์ด๋ผ๋ฟ, ๊ฐ์ returnํ์ง๋ ์๋๋ค.
greet์ด undefined๊ฐ ๋์ง ์์ผ๋ ค๋ฉด ์๋์ ๊ฐ์ด console.log๋์ return์ ์ฌ์ฉํ๋ฉด ๋๋ค.
object๋ฅผ ์ด์ฉํด ์ด๋ฐ ๋ฐฉ๋ฒ์ผ๋ก๋ ํจ์๋ฅผ ์ ์ํ๊ณ ์ฌ์ฉ ํ ์ ์๋ค.