function printHello() {
console.log('Hello');
}
printHello();
function log(message) {
console.log(message);
}
log('Hello@');
log(1234);
기본 매개변수: 값으로 전달
객체 매개변수: 참조로 전달
function changeName(obj) {
obj.name = 'coder';
}
const ellie = { name: 'ellie' };
changeName(ellie);
console.log(ellie);
function showMessage(message, from = 'unknown') {
console.log(`${message} by ${from}`);
}
showMessage('Hi!');
function printAll(...args) {
for (let i = 0; i < args.length; i++) {
console.log(args[i]);
}
for (const arg of args) {
console.log(arg);
}
args.forEach((arg) => console.log(arg));
}
printAll('dream', 'coding', 'ellie');
let globalMessage = 'global'; // global variable
function printMessage() {
let message = 'hello';
console.log(message); // local variable
console.log(globalMessage);
function printAnother() {
console.log(message);
let childMessage = 'hello';
}
// console.log(childMessage); //error
}
printMessage();
function sum(a, b) {
return a + b;
}
const result = sum(1, 2); // 3
console.log(`sum: ${sum(1, 2)}`);
bad
function upgradeUser(user) {
if (user.point > 10) {
// long upgrade logic...
}
}
good
function upgradeUser(user) {
if (user.point <= 10) {
return;
}
// long upgrade logic...
함수는 다른 변수처럼 취급됩니다.
변수에 값으로 할당 가능하다.
다른 함수에 인수로 전달할 수 있다.
다른 함수에서 반환될 수 있다.
const print = function () {
// anonymous function
console.log('print');
};
print();
const printAgain = print;
printAgain();
const sumAgain = sum; // d위에 선언한 것이 있음.
console.log(sumAgain(1, 3));
function randomQuiz(answer, printYes, printNo) {
if (answer === 'love you') {
printYes();
} else {
printNo();
}
}
// anonymous function
const printYes = function () {
console.log('yes!');
};
이름있는 함수
const printNo = function print() {
console.log('no!');
};
randomQuiz('wrong', printYes, printNo);
randomQuiz('love you', printYes, printNo);
const simplePrint = function () {
console.log('simplePrint!');
};
const simplePrint = () => console.log('simplePrint!');
const add = (a, b) => a + b;
const simpleMultiply = (a, b) => {
// do something more
return a * b;
};
(function hello() {
console.log('IIFE');
})();
숙제
// Fun quiz time❤️
// function calculate(command, a, b)
// command: add, substract, divide, multiply, remainder