모던 JavaScript 스터디 노트 #2

함수

문자열(string)을 전달받아 인사를 하는 단순한 함수이다.

function greet(name) {
  console.log("Hello, "+name);
}
greet("Alberto");
// Hello, Alberto
let myInt = 1;

function increase(value) {
  return value += 1;
}

console.log(myInt); // 1
console.log(increase(myInt)); // 2
console.log(myInt); // 1

객체는 메모리 ‘주소 값’을 함수 인자로 전달하기에 변경 사항을 가했을 경우 함수 밖에서도 바뀌어 있다.

let myCar = {
  maker: "BMW";
  color: "red";
};

console.log(myCar);
// {maker: "BMW", color: "red"}

function changeColor(car) {
  car.color = "blue";
}

changeColor(myCar);
console.log(myCar);
// {maker: "BMW", color: "blue"}

함수 표현식(function expression)을 사용하는 방법이다.

const greeter = function greet(name) {
  console.log("Hello, "+name);
};
greeter("Alberto");

함수 표현식을 사용하여 익명 함수(anonymous function)도 만들 수 있다고 한다.

const greeter = function(name) {
  console.log("Hello, "+name);
}
greeter("Alberto");

ES6에서 도입된 화살표 함수(arrow function)를 사용해서 같은 함수를 다른 방법으로 선언할 수도 있다.

const greeter = (name) => {
  console.log("Hello, "+name);
};
greeter("Alberto");