JS 코드 기초 (함수)

Taehye.on·2023년 2월 21일
2

코드스테이츠 44기

목록 보기
6/89
post-thumbnail

🔍 함수

함수는 입력에 따라 그에 걸맞는 작업을 하는 하나의 작업 단위로,
논리적인 일련의 작업을 하는 하나의 단위를 함수라고 한다.
함수는 입력을 받아서 코드블록 내부의 코드를 실행한 후 함수의 실행결과를 반환하는 과정 묶음이다.

📌 함수선언문과 함수표현식

js에서 함수를 정의하는 방법은 함수선언문함수표현식 이 있다.

// 함수선언문으로 정의한 함수
function greeting () { 
	console.log('hello world') 
};
// 함수표현식으로 정의한 함수
let greeting = function () {
	console.log('hello world')
};

함수선언문은 function이라는 함수 선언 키워드를 사용하였고
함수표현식은 변수 선언 키워드인 let 을 사용하여 표현한다.

📌 함수 호출

앞서 다룬 코드는 console.log() 로 콘솔에 입력한 내용이 출력되지 않는다.
함수 내부에 있는 console.log() 가 실행되지 않기 때문인데
그 이유는 함수 호출을 하지 않았기 때문이다.
함수 내부에 있는 코드는 함수를 호출 했을 때만 실행되기 때문이다.
정리하면 함수 호출은 함수를 실행시키는 명령을 전달하는 것이다.

unction greeting () { 
  console.log('hello world')
};

greeting() // 'hello world'
let greeting = function () {
  console.log('hello world')
};

greeting() // 'hello world'

이처럼 함수명(greeting)뒤에 소괄호()를 붙이면 함수 호출이 가능하다.

📌 매개변수와 전달인자

매개변수는 함수를 정의할 때 선언하고, 함수 코드 블록 안에서 변수처럼 취급된다.
함수를 정의할 때 소괄호() 에 매개변수를 추가할 수 있다.
이 매개변수는 함수 내부에서 변수와 같은 역할을 한다.

function greeting (name) {
	console.log('hello ' + name);
}

greeting 이라는 이름의 함수가 name 이라는 매개변수를 가지고 있지만
아무것도 할당되어 있지 않아 nameundifined 로 초기화 되어있다.
name 에 값을 할당하기 위해 전달인자 를 사용한다.

function greeting (name) {
	console.log('hello ' + name);
}

greeting('kimcoding'); // 'hello kimcoding'

함수를 호출할 때 소괄호 안에 값을 넣어 매개변수 값을 할당할 수 있다.
이것이 전달인자 이다.

만약 매개변수 수보다 적은 전달인자가 전달되면
아무것도 전달되지 않은 매개변수는 undifined로 초기화 된다.

function getUserName (user1, user2) {
	console.log(user1);
	console.log(user2);
};

getUserName('kimcoding'); // 'kimcoding' undefined

또한 매개변수는 함수 내부에서만 사용이 가능하다.

🔍 return문

위에 과정들은 주로 함수 내부에서 console.log() 를 사용해 값을 콘솔창에 출력하는 방식으로 확인을 했다.
지금 배우는 return문은 두 수를 입력받아 합을 리턴하는 함수이다.

function add (x, y) {
	return x + y; // 반환문
	console.log('실행되지 않습니다');
}
  1. 함수 내부의 코드가 실행되다가 return 문을 만나 값을 반환한 후 함수가 종료된다.
function add (x, y) {
    return x + y; // 반환문
 }

 console.log(add(3, 2)); // 5
  1. return문에 작성된 코드를 실행한 후 결과를 함수 외부로 리턴한다.
    (함수 외부에서 호출하면 함수의 실행결과를 알 수 있다.
function add (x, y) {
	return x + y; // 반환문
}

let result = add(3, 2);
console.log(result); // 5
  1. 함수 호출의 결과를 변수에 할당하는 것도 가능하다.
function add (x, y) {
	return x + y; // 반환문
}

let result = add(3, 2) + add(5, 7);
console.log(result); // 17
  1. 함수의 호출 결과끼리 연산도 가능하다.

0개의 댓글