
function hello() {
return 'Hello~'
}
// ν¨μ λ°μ΄ν°(Data)
console.log(hello) //f hello() { return 'Hello~' }
console.log(typeof hello) //function
// ν¨μ νΈμΆ(Call)
console.log(hello()) // Hello~
console.log(typeof hello()) // String
const h1El = document.querySelector('h1')
function handler() {
console.log(h1El.textContent) // handler ν¨μλ textContentλ₯Ό μΆλ ₯νλ€.
}
h1El.addEventListener('click', handler)
const h1El = document.querySelector('h1')
h1El.addEventListener('click', function() {
console.log(h1El.textContent)
})
β μμ 1
// νΈμ΄μ€ν
(λμ΄μ¬λ €μ§λ€)
hello() // Hello~
wolrd () // Error..
// ν¨μ μ μΈλ¬Έ
function hello () {
console.log('Hello~)
}
// ν¨μ ννμ
const world = function () {
console.log('World~')
}
π ν¨μ ννμμ΄ μλλκ² νλ €λ©΄?
// ν¨μ ννμ
const world = function () {
console.log('World~')
}
// νΈμ΄μ€ν
(λμ΄μ¬λ €μ§λ€)
hello() // Hello~
wolrd () // World~
// ν¨μ μ μΈλ¬Έ
function hello () {
console.log('Hello~')
}
β μμ 2
// ν¨μ μ΄λ¦μ λ³΄ν΅ λͺ
λ ΉνμΌλ‘ μ΄λ¦μ μ§λλ°(λμ¬κ° μμ λμ€λ ꡬ쑰)
// ν¨μμ μ΄λ¦λ§ λ³΄κ³ κ³ΌμΌμ λͺ©λ‘μ μ£ΌμΈμ λΌλ κ²μ μ΄λ μ λ μμΈ‘ν μ μλ€. = μΆμν
const fruits = getfruits()
const movies = getmovies()
function getfruits() {
// μ½λ1
// μ½λ2
// μ½λ3
// ...
// return fruits
}
const getmovies = function() {
// μ½λ1
// μ½λ2
// μ½λ3
// ...
// return fruits
}
λ¬Έμ μμ΄ μλλ¨
Error...
β μμ 1
function sayHi(name) {
return `Hi, ${name}~`
console.log('λμνμ§ μμ!')
} // functionν€μλλ₯Ό ν΅ν΄μ sayHiλΌλ μ΄λ¦μ κ°μ§ νλμ ν¨μλ₯Ό μ μνκ³ μλ€.
const h = sayHi('Neo')
// 'Neo'λΌλ λ¬Έμ λ°μ΄ν°λ₯Ό nameμ΄λΌλ λ³μκ° λ°μ΄ν°λ₯Ό λ°μμ μ¬μ©λ¨
console.log(h) // Hi, Neo~
console.log(sayHi('Neo')) // Hi, Neo~
β μμ 2
function a() {
// return
}
function b() {
return
}
function c() {
return undefined
}
console.log(a())
console.log(b())
console.log(c())
// λͺ¨λ undefined
β μμ 1
function add(a, b) {
return a + b
}
console.log(add(2, 1)) // 3 (2μ 1μ μΈμ)
console.log(add(7, 4)) // 11
console.log(add('A', 'B')) //AB
β μμ 2
// λ§€κ°λ³μ κΈ°λ³Έκ°
function add(a, b=1) {
return a + b
}
console.log(add(2)) // 3
console.log(add(2, undefined)) // 3
console.log(add()) // NaN
return ν€μλμ μ€κ΄νΈ({})λ₯Ό μλ΅νλ λ°©μμΌλ‘ λ°νν λ°μ΄ν°λ§ λͺ
μνλ€.return ν€μλκ° μμΌλ©΄ μ€κ΄νΈλ₯Ό μλ΅ν μ μλ€.β μμ 1
// μΌλ° ν¨μ
function hello1() {
return 'Hello~'
}
const add1 = function(a, b) {
return a + b
}
const log1 = function (c) {
console.log(c)
}
//νμ΄ν ν¨μ
const hello2 = () => 'Hello~'
const add2 = (a, b) => a + b
const log2 = c => {
console.log(c)
} // λ§€κ°λ³μκ° νλλ°μ μκ³ κΈ°λ³Έκ°μ΄ μμ λ, νμ΄ν ν¨μμμ μκ΄νΈ μλ΅ κ°λ₯!
β μμ 2
// νμ΄ν ν¨μμ μ€κ΄νΈ μλ΅
const a = x => {
return x * x
}
const b = x => x * x // μμ ν¨μλ κ°μ ꡬ쑰
const c = x => {
console.log(x * x)
return x * x
} // μ€κ΄νΈ λ€μμ returnμ΄ λ°λ‘ λμ€μ§ μμμ μ€κ΄νΈλ₯Ό μλ΅ν μ μμ
const d = () => {
return [1, 2, 3]
}
const e = () => [1, 2, 3] // μμ ν¨μλ κ°μ ꡬ쑰
const g = () => {
return { a : 1 } // κ°μ²΄ λ°μ΄ν°
}
const h = {} => ({a : 1}) // μκ΄νΈλ‘ νλ² λ λ¬Άμ΄μ€
β μμ 1
const a = callback => {
console.log('A')
callback()
}
const b = () => {
console.log('B')
}
a(b)
// A
// B
β μμ 1
// ν¨μ μ μ(νν)
const double = () => {
// ...
}
// ν¨μ μ€ν
double()
// μ¦μμ€νν¨μ
// ;(ν¨μ)()
;(function)() {
// ...
})()
// 'μ¦μμ€νν¨μ'μ λ€μν μ¬μ©λ²
;(() => {})() // (νμ΄νν¨μ)()
;(function () {})() // (μΌλ°ν¨μ)()
;(function () {}()) // (μΌλ°ν¨μ())
;!function () {}() // !μΌλ°ν¨μ()
;+function () {}() // +μΌλ°ν¨μ()
β μμ 1
// μ½λ°±μ νΈμΆνλ νμ΄λ¨Έ μ€μ
const timeout = setTimeout(() => {
console.log('Hello~')
}, 5000)
// νμ΄λ¨Έλ₯Ό μ·¨μ
const btnEl.document.querySelector('button')
btnEl.addEventListener('click', () => {
console.log('νμ΄λ¨Έ μ·¨μ!')
clearTimeout(timeout)
})
β μμ 2
// μ½λ°±μ λ°λ³΅ νΈμΆνλ νμ΄λ¨Έ μ€μ
const timeout = setInterval(() => {
console.log('Hello~')
}, 3000)
// νμ΄λ¨Έλ₯Ό μ·¨μ
const btnEl.document.querySelector('button')
btnEl.addEventListener('click', () => {
console.log('νμ΄λ¨Έ μ·¨μ!')
clearInterval(timeout)
})