함수(function)와 매개변수, 인수, 메소드, 프로퍼티

최경락 (K_ROCK_)·2021년 8월 2일
0

함수란?

  • 어떠한 기능(function)사용(실행)하는데 필요한 코드들의 집합.

함수 선언과 실행

  • 함수의 선언function 함수이름() { 코드내용 }; 으로 이루어진다.
  • 함수의 실행(호출)함수이름(); 으로 이루어지며, 위에서 지정한 코드내용이 실행된다.

함수의 반환(return)

  • 함수 내부에서 return이라는 키워드를 사용하면 지정된 값을 반환 할 수 있는데, 반환된 값은 함수 외부로 이동되어 해당 함수가 그 값을 가진다.
  • 이 경우 함수 자체가 return된 값을 가지므로, 변수에 함수의 결과 값을 지정하거나, console.log(); 등으로 함수의 값을 호출할 경우 return의 값을 확인 할 수 있다.
function example() {
	return "hello";
};
// hello 라는 문자 데이터를 반환받아, 값이 hello 가 됨.

let print = example(); // 함수의 값을 변수의 값으로 지정함.

console.log(example());  // "hello"
console.log(print);      // "hello"

//출력된 내용은 같지만, 함수의 값 자체를 출력한 것과,
//변수의 값으로 지정되어 출력된 것의 차이점이 있다.

//위를 통해 함수 자체가 return의 값을 가진 것을 확인 할 수 있다.
  • 즉, 함수의 반환(return)을 이용하면 함수 내부의 값함수 자신의 값으로 돌려받을 수 있다고 생각하는 것이 이해하기 편하다.

매개변수(parameter)와 인수(argument)

  • 매개변수와 인수를 사용하여 함수를 사용 할때 함수 안으로 데이터를 전달 해줄 수 있다.
  • 매개변수(parameter)는 함수의 선언과정에서 작성하며, 외부로부터 데이터를 함수안으로 전달하는 매개체 역할을 한다.
  • 인수(parameter)는 함수의 호출과정에서 사용하며, 함수에 전달되는 실질적인 데이터를 가진다.
//a와 b를 더한 값을 함수의 값으로 리턴하는 함수

function sum(a, b) {
	return a+b;
};
//위에서 a와 b를 매개변수라고 하며, 인수로 부터 데이터를 받는다.

console.log(sum(10, 15)); // 25
//위에서 10과 15를 인수라고 하며, 실질적인 데이터를 포함한다.
  • 매개변수함수안에서만 사용이 가능하다.

기명함수와 익명함수

  • 우리가 일반적으로 함수선언으로 함수의 이름과 함께 선언한 함수기명함수라고 한다.
  • 함수이름과 소괄호를 이용하여 호출 가능하다.
function 함수이름() { 함수 내용 }; // 기명함수, 함수선언

함수이름() // 함수호출
  • 이와 반대로 이름이 선언되지 않은 함수익명함수라고 한다.
  • 함수에 이름이 없으므로 다른 요소들의 데이터로 사용될 수 있다.
  • 함수가 데이터로 지정된 데이터의 이름(변수, 객체 등)의 뒤에 소괄호를 붙혀 호출한다.
//변수의 데이터로 지정된 익명함수와 호출

let 변수이름 = function() { 함수내용 } // 익명함수, 함수표현

변수이름() // 함수호출

//객체의 데이터로 지정된 익명함수와 호출

let 객체이름 = {
	objectKey : function() { 함수내용 }
}

객체이름.objectKey() // 함수호출

//배열의 데이터로 지정된 익명함수와 호출

let 배열이름 = [ function() { 함수내용 }, "문자데이터"]

배열이름[0]() // 함수호출
  • 기명함수를 만드는 경우 함수선언이라고 하며, 익명함수를 작성하는 경우 함수표현 이라고 한다

객체 데이터에서의 익명함수

  • 데이터로써 익명함수가 사용될때, 그 익명함수가 객체의 데이터 중 하나일 때 이를 메소드(method)라고 한다.
  • 즉, 객체내부의 데이터key : value 의 형태로 저장되는데, value에 익명함수가 값으로 존재하는 경우이다.
let introduce = {
	name : "KROCK",
	birth : "april",
	hello : function() {
		console.log(`Hello my name is ${this.name}`);
	}
};
// 콘솔에 객체 내부의 name이라는 키를 포함한 문자열을 리턴하여 표시하는 함수.

introduce.hello(); 
// introduce 에서 hello라는 key를 가진 데이터를 호출.
// 해당 키는 데이터로 익명함수를 포함하므로 함수호출을 위해 소괄호를 사용함.
  • 이때 함수를 포함한 keyintroduce.hello();메소드(method)라고 한다.
  • 함수가 포함되지 않은 keyintroduce.nameintroduce.birth프로퍼티(property) 라고 한다.
  • 즉, 객체에 포함된 변수프로퍼티(property), 객체에 포함된 익명함수메소드(method) 라고 한다.

0개의 댓글

관련 채용 정보