계속 반복해서 사용할 수 있는 코드 조각
내가 다니는 학교 전교생의 이름이 적힌 코드를 구현하고 싶다.
이 때 Function이 없다면?
console.log("Hello my name is nini")
console.log("Hello my name is Dal")
console.log("Hello my name is Flynn")
console.log("Hello my name is jihyun")
console.log("Hello my name is sohi")
console.log("Hello my name is youngsu")
.
.
.
console.log("Hello my name is mimi")
전교생이 1억 명이라면 1억 명의 이름을 노가다로 바꿔야 한다.
각 이름만 바꾸고 싶을 때 어떻게 해야 할까?
코드의 반복을 최소한으로 줄여야 한다.
코드의 반복을 최소한으로 줄일 수 있는 것은 바로 Function
Function은 어떤 코드를 캡슐화해서 실행을 여러 번 할 수 있게 해준다.
function sayHello(){
aaaaaaaaaaa
}
위 코드처럼 function을 작성한 후 임의로 이름을 만들고(sayHello), sayHello를 실행할 때마다 실행되는 것을(aaaaaaaaaaa) 작성해준다.
function sayHello(){
console.log("Hello!");
}
위 코드는 sayHello의 실행을 누를 때마다 "Hello!"가 실행되는 것이다.
그럼 어떻게 실행하는 것일까?
sayHello();
바로 이거!
너무 쉬웠으니까 응용해보자~
argument(인수)가 필요하다.
function을 실행하는 동안 어떤 정보를 function에게 보낼 수 있는 방법.
function sayHello(nameOfPerson) {
console.log(nameOfPerson);
}
sayHello("nini");
sayHello("Dal");
sayHello("Flynn");
나이도 넣을 수 있다.
function sayHello(nameOfPerson, age) {
console.log("Hello my name is " + nameOfPerson + " and I'm " + age);
}
sayHello("nini", 27);
sayHello("Dal", 18);
sayHello("Flynn", 30);
Hello my name is nini and I'm 27
Hello my name is Dal and I'm 18
Hello my name is Flynn and I'm 30
같은 방식으로 계산기도 만들어 볼 수 있다.
1) 더하기
function plus(a, b) {
console.log(a + b);
}
plus(60, 5);
2) 나누기
function divide(a, b) {
console.log(a / b);
}
divide(60, 5);
여기서 순서에 맞춰 a=60, b=5 라고 할 수 있다.
function 뒤에 오는 것들을 임의로 만들 수 있다.
예를 들어, a, b, age, nameOfPerson 등
const player = {
name: "nini",
sayHello: funciton (otherPersonName){
console.log("hello " + otherPersonName + " nice to meet you!");
},
};
console.log(player.name);
player.sayHello("jihyun");
nini
hello jihyun nice to meet you!