study blog

[JavaScript] 자바스크립트 입문 (3)_ 연산자/함수 본문

제1장

[JavaScript] 자바스크립트 입문 (3)_ 연산자/함수

Jiji__ 2022. 2. 3. 20:52
728x90

/*프로그래머스의 무료 자바스크립트 입문강의를 듣고 기록하는 포스팅입니다.*/

 

 

 

산술연산자

피연산자는 연산자가 연산을 수행하는 대상이다. (6+2에서 6과 2가 피연산자이다.)

그리고 6+2는 피연산자가 2개이므로 이항연산자라고 한다.

또한 피연산자가 하나인 경우를 단항연산자라고 한다.

 

var a=1;

console.log(a); //1
console.log(a+1); //2
console.log(a); //1

console.log(a); //1
console.log(++a); //2
console.log(a); //2

console.log(a); //1
console.log(a++); //1
console.log(a); //2

++aa값에 1을 더한 다음에 값을 출력한다. (a=a+1)

a++일단 a값을 출력하고 그 다음에 a에 1을 더한다.

cf) Math.random(): 0~1 사이의 임의의 수를 발생시켜 준다.

 


함수 function 사용하기

우리가 자주 쓰는 console.log() 또한 함수이며, 우리는 함수를 호출한다고 말함.

 

함수 정의 구문

function 함수이름 (파라미터, 파라미터) {
    //실행할 코드 쓰기
    //파라미터들은 변수처럼 사용가능
    //함수가 결과값을 반환해야할 경우 return
    return 반환값;
}

 

예시로 print라는 함수를 호출해보자.

function print (message) {
    console.log("print function in");
    console.log(message);
    console.log("print function out");
}

print("HI FUNCTION");

출력값: print function in/ HI FUNCTION/ print function out

 

여기서 엄청난 코린이인 나는 

왜 print(); 는 console.log()를 하지 않았음데도 불구하고 콘솔창에 찍히는 걸까?🤔

라는 궁금증이 생겼고 이에 대한 답은 굉장이 쉬웠는데

바로 함수 실행 코드에 console.log가 있기 때문이었다.

 

또한 예시와는 다르게 콘솔창에서 직접 print 함수를 호출할 수도 있는데

 

콘솔창에 직접 mimi 라는 값을 넣어 잘 출력되는 것을 볼 수 있다.

여기서 중요한 건 undefined 인데 이는 return구문이 따로 없었기 때문에 함수의 실행 결과가 undefined로 나오는 것이라고 한다.

 

이번엔 매개변수가 2개인 함수를 살펴보자.

function sum (arg1, arg2) {
    var result = arg1 + arg2;
    return result;
}

마찬가지로 콘솔창에 직접 함수에 값을 입력하고 알맞은 출력값이 나왔다.

sum이라는 함수는

result라는 변수에 1,2를 더한 값을 저장해두고, 그 값을 return 구문을 통해 반환하게 된다.

그래서 이번 출력값은 전의 예시처럼 마지막에 undefined까지 나오지는 않게 된다.

 


return에 대해

return은 밑의 예제를 보면 쉽게 와닿을 수 있다.

function return_test(){
    console.log("실행되지 않는 코드");
}
//출력값: 실행되지 않는 코드

return 없이 쓰였을 경우, return_test 함수를 호출하면 출력값은 console.log 함수 그대로 뜨게 된다.

반대로 return을 썼을 경우에는

function return_test(){
    return;
    console.log("실행되지 않는 코드");
}
//출력값: undefined

return_test 함수를 호출했을 때 출력값이 undefined 으로 나오는데 그 이유는

return을 쓰게 되면 return의 하위 코드들은 다 실행하지 않고 종료되고, return에 대한 반환값도 없기 때문에 출력값은 undefined으로 나오는 것이다.

 

 

 

마지막으로 연습문제를 풀었는데

난 굉장히 복잡하게 생각했다. (무조건 변수가 있어야 한다고 생각했다.)

 

function solution(a,b){
    return a+b;
}

더 간단한 답

728x90
Comments