동기와 비동기는 주로 어플리케이션에서 자주 다워지는 개념이며, 다음 작업이 요청되는 시간과 관련있다!

동기(Synchronous)
비동기(Asynchronous)
함수도 하나의 자료형 이므로 매개변수로 전달할 수 있다. 매개변수로 전달하는 함수를 콜백함수
기본 형태
function 함수(매개변수){
문장
매개변수()
}
function 함수=매개변수(){
문장
}
함수(매개변수)
ex)
function total(x){
for(let i =0; i<3; i++){
x(i)
}
}
function x(i){
console.log(`${i}번째 함수 호출`)
}
0번째 함수 호출
1번째 함수 호출
2번째 함수 호출
변형
function total(x){
for(let i =0; i<3;i++){
x(i)
}
}
total(function x(i){
console.log(`${i}번째 함수 호출`)
})
0번째 함수 호출
1번째 함수 호출
2번째 함수 호출
배열이 갖고 있는 함수(메소드)로써 단순하게 배열 내부의 요소를 사용해 콜백 함수로 호출
기본형태
.forEach(function (value,index,array) { })
ex)
const total = [273,52,103,32,57]
total.forEach(function (value,index){
console.log(`${index}번째 요소 : ${value}`)
}
콜백 함수에서 리턴한 값들을 기반으로 새로운 배열을 만드는 함수
기본형태
.map(function(value,index,array){ })
ex)
const total = [273,52,183,32,57]
total = total.map(function(value,index,array){
return value * value
})
total.forEach(console.log)