프로그래밍에서 특정 작업을 여러 번 수행하기 위해 만든 것이 Function(함수)입니다. 코드 블록을 함수로 블록화하여 필요할 때마다 해당하는 코드 블록을 재사용합니다.
JavaScript에서는 함수 선언을 통해 함수를 생성할 수 있습니다. 함수 선언은 함수의 이름 또는 식별자를 할당합니다.
함수 선언 방법은 다음과 같습니다.
greetWorld(); // Output: Water the plants.
function greetWorld() {
console.log('Water the plants.');
}
함수 선언은 그 존재를 선언만 할 뿐 함수 본문 내부의 코드가 동작되지는 않습니다. 함수 호출 과정을 통해 함수를 실행시킬 수 있습니다. 함수를 호출하려면 함수 이름 뒤에 괄호를 입력합니다.
function sayThanks(){
console.log('Thank you!');
}
sayThanks(); // Output: Thank you!
함수를 선언할 때 데이터를 입력받도록 매개변수를 지정할 수 있습니다.
function sayThanks(name) {
console.log('Thank you for '+ name +'!');
}
sayThanks('Dev'); // Output: Thank you for Dev!
JavaScript ES6에서는 매개변수의 기본 값을 설정할 수 있습니다. 전달받은 인수가 정의되지 않거나 없는 경우 매개변수가 미리 설정된 값을 가집니다.
function greeting (name = 'stranger') {
console.log(`Hello, ${name}!`)
}
greeting('Nick') // Output: Hello, Nick!
greeting() // Output: Hello, stranger!
return 키워드는 함수가 수행된 결괏값을 반환하고 함수를 종료합니다. return 키워드 뒤에 반환하려는 값을 작성하여 함수의 출력을 생성하도록 합니다. 함수에서 출력된 값은 변수에 저장할 수 있습니다. return 문이 생략되면 undefined가 반환됩니다.
function rectangleArea(width, height) {
if (width < 0 || height < 0) {
return 'You need positive integers to calculate area!';
// width와 heigt이 모두 0보다 작은 경우, 문자열을 반환 후 함수 종료
}
return width * height;
// width와 heigt이 모두 0보다 큰 경우, 곱을 반환 후 함수 종료
}
하나의 함수 내에서 다른 함수의 반환 값을 사용할 수 있습니다. 이렇게 다른 함수 내에서 호출되는 함수를 Helper Function(도우미 함수)라고 합니다. 각 함수는 고유의 작업을 실행하기 때문에 코드를 더 쉽게 읽고 디버그 하는데 도움을 받을 수 있습니다.
function multiplyByNineFifths(number) {
return number * (9/5);
};
function getFahrenheit(celsius) {
return multiplyByNineFifths(celsius) + 32;
}; // multiplyByNineFifths가 도우미 함수로 호출
getFahrenheit(15); // Returns 59
함수의 정의는 표현식 내에서 function 키워드를 사용하는 Function Expressions(함수 표현식)으로도 정의할 수 있습니다. 일반적으로 함수의 이름은 생략되어 익명 함수라고 합니다.
const calculateArea = function (width, height) {
const area = width * height;
return area;
}
console.log(calculateArea(10, 6)) // Output: 60
JavaScript ES6에서는 fucntion 키워드 대신 화살표(=>)를 통해 함수를 간략하게 선언하는 Arrow Fucntion(화살표 함수)를 지원합니다. ( )안에 매개변수를 작성하고 { }로 둘러싸인 함수 본문을 화살표 =>으로 가리킵니다.
const rectangleArea = (width, height) => {
let area = width * height;
return area;
};
화살표 함수의 특징은 다음과 같습니다.
아래는 같은 기능을 하는 화살표 함수입니다.
const squareNum = (num) => {
return num * num;
};
const squareNum = num => num * num;
[JavaScript] 06. Loops (0) | 2022.09.22 |
---|---|
[JavaScript] 05. Arrays (0) | 2022.09.22 |
[JavaScript] 04. Scope (0) | 2022.09.22 |
[JavaScript] 02. CONDITIONALS (0) | 2022.09.22 |
[JavaScript] 01. INTRODUCTION (0) | 2022.09.22 |