일반적으로 for문을 통해 작성하는 경우가 많다.
let cars = ["BMW", "BENZ", "FERRARI"];
let i = 0;
while(cars[i]){
console.log(cars[i]);
i++;
};
let txt = "HELLO";
for(let letter of txt){
console.log(letter);
}
// H, E, L, L, O 각각 분리해서 출력한다.
자주 사용하는 실행 코드를 블록 단위로 묶어서 패키징 해놓은 형태
자주쓰는 코드들을 기능단위로 재사용하기 위함
함수정의: 미리 function 키워드를 통해 자주 사용하는 코드들을 묶어서 정의하는 행위
함수호출: 정의되어 있는 함수를 호출을 해 기능을 실행
익명함수
함수에 이름이 없이 정의하는 형태이다. 익명함수 자체만으로는 호출이 불가능하다. 변수에 익명함수를 대입하거나(대입형) 특정 이벤트 객체에 대입하는 식으로 호출 가능하다.
대입형함수
변수에 익명함수가 대입된 형태
즉시실행함수
함수가 자기 자신을 정의하자마자 바로 자신을 호출하는 형태
function plus() {
let num1 = 2;
let num2 = 3;
console.log(num1 + num2);
}
plus(); // 5출력!
ex) 대입형 함수
대입형 함수는 호출의 위치가 자유롭지 않다는 단점이 있다.
let minus = function() {
let num1 = 2;
let num2 = 3;
console.log(num1 - num2);
}
minus();
// -1 출력
ex) 즉시 실행 함수
자기 자신을 저장하자마자 실행하는 함수
즉시 실행 함수를 사용하는 이유.. hoisting-!
(function(){
let num1 = 2;
let num2 = 3;
console.log(num1 + num2);
})();
// 특별한 명령어 없이 5라는 값을 바로 반환
함수 외부에서 함수 내부로 특정값을 전달하기 위한 통로 이름
함수를 호출 할 때 파라미터를 통해서 전달되는 값
함수 내부에서 만들어진 값을 함수 호출 시 외부로 반환
함수구문 실행도중 특정시점에서 강제로 코드를 실행 중단 될 때
ex) 선언적 함수
function plus(num1, num2){
let result = num1 + num2;
console.log(result);
return result;
}
plus(3, 5); // 8이라는 값을 출력한다.
let total = plus(4,5);
console.log(total);
위에 num1, num2를 매개변수라 얘기하고, 3,5를 인수라고 얘기한다. return 키워드를 붙여 total과 같이 반환한다며, 반환 값이라고 얘기한다.
기존의 익명함수를 쓰기 편하게 축약한 형태
const plus = (num1, num2) => {
let result = num1 + num2;
return result;
}
const abc = txt => {
console.log(txt);
};
abc("hello"); // hello 출력