πΎ λ°ν(ruturn)λ¬Έμ΄λ?
μλ°μ€ν¬λ¦½νΈμμλ ν¨μλ₯Ό νΈμΆνμ λ ν¨μλ₯Ό νΈμΆν κ³³μ νΉμ κ°μ λ°ννκ² ν μ μλλ°, μ΄ νΉμ κ°μ λ°ν κ°(return value)μ΄λΌκ³ νλ€. λ°νκ°μ ν΅ν΄ ν¨μμμ μ€νλ κ²°κ³Όλ₯Ό μ λ¬λ°μ μ μλ€.
function sum(x, y) {
return x + y; // λ°νλ¬Έ
}
let result = sum(1, 2);
console.log(result) // 3
→ returnλ¬Έμ κ²°κ³Όλ ν¨μ μΈλΆλ‘ λ°νλκ³ , ν¨μ μΈλΆμμ ν¨μμ μ€νκ²°κ³Όλ₯Ό νμΈν μ μλ€.
π©π»π» example
function examPass(name, html, css, js){
let comment = name + 'νμμ ';
if (html >= 60 && css >= 60 && js >= 60) {
comment += 'μ κ³Όλͺ© PASS';
} else {
if (html < 60) {
comment += 'html μ¬μν ';
}
if (css < 60) {
comment += 'css μ¬μν ';
}
if (js < 60) {
comment += 'javascript μ¬μν';
}
}
return comment;
}
console.log(examPass('A', 80,90,70)); // Aνμμ μ κ³Όλͺ© PASS
console.log(examPass('B', 80,50,50)); // Bνμμ css μ¬μν javascript μ¬μν
console.log(examPass('C', 50,50,70)); // Cνμμ html μ¬μν css μ¬μν
πΎ returnλ¬Έ μ¬μ©νκΈ°
1. returnμ ν¨μ λ΄ μ΄λμλ μ¬μ©ν μ μλ€.
ν¨μ λ΄λΆμ μ½λκ° μ°¨λ‘λλ‘ μ€νλλ€κ° returnμ λ§λλ©΄ ν¨μ μ€νμ μ¦μ μ€λ¨λκ³ ν¨μλ₯Ό νΈμΆν κ³³μ κ°μ λ°νν ν ν¨μλ μ’ λ£λλ€. (returnλ¬Έ λ€μ λμ€λ μ½λλ μ€νλμ§ μμ)
function sum(x, y) {
return x + y; // λ°νλ¬Έ
console.log('μ€νλμ§ μμ΅λλ€');
}
let result = sum(1, 2);
console.log(result) // 3
let sumResult = sum(3, 2) + sum(5, 7);
console.log(sumResult) // 17
• ν¨μ νΈμΆ κ²°κ³Όλ₯Ό λ³μ(result)μ ν λΉν μ μλ€.
• ν¨μμ νΈμΆ κ²°κ³ΌλΌλ¦¬μ μ°μ°λ κ°λ₯νλ€.
2. returnλ§ λͺ μν μ μκ³ , returnλ¬Έμ΄ μμ μλ μλ€.
returnλ§ λͺ μλ ν¨μλ returnμ λ§λλ©΄ μ¦μ μ’ λ£λλ€.
return μ§μμλ§ μκ±°λ returnλ¬Έμ΄ μλ ν¨μλ undefined
λ₯Ό λ°ννλ€.
π©π»π» returnλ§ λͺ μν κ²½μ°
function showError(){
console.log("μλ¬κ° λ°μνμ΅λλ€.");
return;
console.log("μ΄ μ½λλ μ λλ‘ μ€νλμ§ μμ΅λλ€.");
}
const result = showError(); // μλ¬κ° λ°μνμ΅λλ€.
console.log(result); // undefined
π©π»π» returnλ¬Έμ΄ μλ κ²½μ°
function showError(){
console.log("μλ¬κ° λ°μνμ΅λλ€.");
}
const result = showError(); // μλ¬κ° λ°μνμ΅λλ€.
console.log(result); // undefined
3. ν¨μ νλμ μ¬λ¬ κ°μ returnλ¬Έμ΄ μ¬ μλ μλ€.
function checkAge(age) {
if (age >= 18) {
return true;
} else {
return false;
}
}
console.log( checkAge(15) ) // false
console.log( checkAge(20) ) // true
4. returnλ¬Έμ λ°°μ΄μ΄λ κ°μ²΄λ₯Ό ν¬ν¨ν λͺ¨λ νμ μ κ°μ λ°νν μ μλ€.
π©π»π» λ°°μ΄μ λ°ννλ μμ
function getEvenNumbers(numbers) {
let evenNumbers = [];
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 === 0) {
evenNumbers.push(numbers[i]);
}
}
return evenNumbers;
}
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let evenNumbers = getEvenNumbers(numbers);
console.log(evenNumbers); // [2, 4, 6, 8, 10]
π©π»π» κ°μ²΄λ₯Ό λ°ννλ μμ
function createPerson(name, age) {
return {
name: name,
age: age,
greet: function() {
console.log("Hello, my name is " + this.name + " and I'm " + this.age + " years old.");
}
};
}
let person1 = createPerson("Hanna", 19);
let person2 = createPerson("Jane", 25);
person1.greet(); // "Hello, my name is Hanna and I'm 19 years old."
person2.greet(); // "Hello, my name is Jane and I'm 25 years old."
5. λ°ννλ €λ κ°μ΄ κΈ΄ ννμμΈ κ²½μ°, ννμμ΄ return μ§μμκ° μλ μ€μμ μμνλλ‘ μμ±ν΄μΌ νλ€.
λ°ννλ €λ κ°μ΄ κΈ΄ ννμμΈ κ²½μ°, returnκ³Ό λ°ννλ €λ κ° μ¬μ΄μ μ μ€μ λ£μ΄ μ½λλ₯Ό μμ±νλ©΄ μνλ κ°μ μ»μ§ λͺ»νλ€. μλ°μ€ν¬λ¦½νΈλ returnλ¬Έ λμ μΈλ―Έμ½λ‘ (;)μ μλμΌλ‘ λ£κΈ° λλ¬Έμ ννμμ μ¬λ¬ μ€μ κ±Έμ³ μμ±νκ³ μΆλ€λ©΄ ννμμ΄ return μ§μμκ° μλ μ€μμ μμνλλ‘ μμ±ν΄μΌ νλ€.
return // return; κ³Ό κ°μ μλ―Έ
(some + long + expression + or + whatever * f(a) + f(b))
β¬οΈ // μλμ κ°μ΄ μμ±ν΄μΌ μνλ κ°μ μ»μ μ μλ€.
return (
some + long + expression
+ or +
whatever * f(a) + f(b)
)
βοΈ κ³΅λΆνλ©° μ 리ν λ΄μ©μ λλ€. μλͺ»λ μ 보λ λ 곡μ ν λ΄μ©μ΄ μμΌλ©΄ λκΈλ‘ μλ €μ£ΌμΈμ!
μ½μ΄μ£Όμ μ κ°μ¬ν©λλ€ π
'Frontend Dev > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μλ°μ€ν¬λ¦½νΈμ μλ£ν (data type) (0) | 2023.05.02 |
---|---|
μλ°μ€ν¬λ¦½νΈ ES6 νμ΄ν ν¨μ κΈ°λ³Έ (0) | 2023.05.02 |
ν¨μ μ μ λ°©μ : ν¨μ μ μΈλ¬Έ(function declaration)κ³Ό ν¨μ ννμ(function expression) (0) | 2023.04.23 |
JavaScriptμμ ν¨μ(function)λ 무μμΌκΉ? (0) | 2023.04.20 |
λΉκ΅μ°μ°μ(comparison operator)μ λ Όλ¦¬μ°μ°μ(logical operator) (0) | 2023.04.18 |