언어&프레임워크/JavaScript
JavaScript 기본3 (function, argument)
밍풀
2022. 9. 16. 14:43
앞서 player.point에 () 없었어, 함수가 아니기 때문
function이란?
반복해서 사용할 수 있는 코드의 조각 같은것
함수가 없다면 예를들어 다음과 같은 경우
console.log하는데 복붙을 너무 많이 하는 상황임, 이름만 바꾸고 나머진 복붙을 하고 있음
코드의 반복을 최대한 줄이고 싶어짐
함수만드는 법
위와 같이 만들면 sayHello();를 실행할때마다 중괄호 안의 코드가 실행됨
그런데 위의 X가 원하는 대로 변경되어 출력하는 함수를 만들고 싶으면 argument(인수,인자)를 도입해야함
argument는 함수를 실행할때 data(정보)를 함수에 보내는 방법임
argument(인수, 인자) 받는 법
인자 여러개 받기 가능
이때 변수 name, age는 함수 안에서만 존재하며
함수 밖에서 출력하고자 할때 실행되지 않음
인자는 어떤 형식을 받아오건 상관없음
객체에서 함수를 불러오는 방법 ( player.sayHello("min"); 과 같이 사용하고 싶어)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function sayHello(name, age){
console.log("hello my name is "+ name+" and I'm "+age);
}
//객체에 함수 넣을때에는, 일반적 함수만들기와 모양새가 조금 다름
const player ={
name : "min",
age : 20,
fat : false,
sayHello : function(){
console.log(" hello");
}
}
console.log(player.name);
player.sayHello(); //min hello 출력
|
cs |
객체안 함수에서 인자 받아오기
1
2
3
4
5
6
7
8
9
10
|
const player ={
name : "min",
age : 20,
fat : false,
sayHello : function(otherPersonName){
console.log("hello "+otherPersonName+" nice to meet you ");
}
}
player.sayHello("jin");//hello jin nice to meet you 출력
|
cs |
지금까지 배운 function, object 이용해 계산기 만들어보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
const calculator = {
add : function (a,b) {
console.log(a+b);
},
minus : function(a,b){
console.log(a-b);
},
divide : function(a,b){
console.log(a/b);
},
times : function(a,b){
console.log(a*b);
}
power : function(a,b){
console.log(a**b);
}
}
calculator.add(1,2);//3출력
calculator.minus(5,1);//4출력
calculator.divide(4,2);//2출력
calculator.times(5,4);//20출력
calculator.power(2,3);//8출력
|
cs |
return의 필요성
return의 도입
1
2
3
4
5
6
7
|
const age = 20;
function calculKrAge(ageOfForeigner){
return ageOfForeigner+2;
}
const KrAge = calculKrAge(age);
console.log(KrAge);//콘솔에 22 출력
|
cs |
return의 실행방식 이해하기
이렇게 하면 96을 넣든 말든 krAge엔 hello값이 들어가게 됨
return을 하게 되면function은 끝나게 됨, function작동 멈추고 결과값 return하고 끝내버림
뒤의 코드 실행안됨 유의
return을 적용해 위의 계산기코드 수정하면
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
const calculator = {
add : function (a,b) {
return (a+b);
},
minus : function(a,b){
return (a-b);
},
divide : function(a,b){
return (a/b);
},
times : function(a,b){
return (a*b);
},
power : function(a,b){
return (a**b);
}
}
|
cs |
return의 활용
return을 사용한 뒤 이와 같이 상호의존적인 코드도 작성가능해짐
이와 같이 콘솔창에서 접근도 가능해짐