Roxylife
Roxy 빛나는 새벽
Roxylife
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발(회고록)현황일기
    • 개발CS지식
    • 알고리즘문제풀기
    • Git
    • 개발언어
      • HTML, CSS
      • JavaScript
    • 프론트엔드
      • React
    • Side Project
      • 혼자Project
      • 팀Project
    • 교육참여
      • [스파르타코딩클럽]
      • [저스트코드]

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스파르타코딩클럽후기
  • 스파르타코딩클럽
  • JavaScript
  • 드림코딩
  • JUSTCODE
  • 신년운세코딩패키지
  • 회고록
  • 저스트코드
  • 팀프로젝트
  • 기업협업
  • 노마드코더
  • 바닐라JS크롬앱
  • 스터디코드
  • 코코아톡클론
  • 코딩교육
  • 힙한취미코딩이벤트
  • JUSTCODE6기
  • 저스트코드6기
  • 개발
  • git

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Roxylife
개발언어/JavaScript

Function(코드를 캡슐화해서, 실행을 여러번 가능)

개발언어/JavaScript

Function(코드를 캡슐화해서, 실행을 여러번 가능)

2021. 8. 25. 12:34

Function이란? 

계속 반복해서 사용할 수 있는 코드 조각

어떤 코드를 캡슐화해서, 실행을 여러 번 가능하게 해준다.

(실행되고 나면) 사라지고, 마지막엔 결과를 남기게 한다.


기본

function sayHello() {
  // 실행하게 될 코드 블록
  console.log("Hello"):
}

sayHello("Hello")
sayHello("Hello")
sayHello("Hello")

절차 (1) Function안으로 값이나 데이터를 보내는 방법

function sayHello() {
  console.log("Hello my name is A");
}

sayHello("jiyoung");
sayHello("gyeogmi");
sayHello("junhan");

콘솔창에는 Hello my name is A 가 3번 뜰 것이다.

 

절차 (2) Function안에서 보낸 값이나 데이터를 받아오는 방법

function sayHello(nameOfPerson) {
  console.log(nameOfPerson);
}

//jiyoung, gyeongmi,junhan을 argument(인수)라고 한다.
sayHello("jiyoung");
sayHello("gyeogmi");
sayHello("junhan");

()에 데이터를 추가한다.

그 데이터에는 어떤 variable이든, 어떤 이름이든 만들어서 넣는다.

argument(인수) : function을 실행하는 동안 어떤 정보를 function에게 보낼 수 있는 방법이다.


예제1. 

// argument를 받음.(nameOfPerson, age)
function sayHello(nameOfPerson, age) {
  console.log("Hello my name is " + nameOfPerson + " and I'm " + age);
}

// argument를 보내고(3가지)
sayHello("jiyoung", 24);
sayHello("gyeogmi", 51);
sayHello("junhan", 55);

예제2.

function plus(firstNumber, secondNumber) {
  console.log(firstNumber + secondNumber);
}

function divide(a, b) {
  console.log(a / b);
}
plus(45, 2);
divide(30, 2);

예제3. (심화) function이 object안에서 가능할 때만 가능

// function이 object안에서 가능할 때
const player = {
  name: "nico",
  sayHello: function (otherPersonsName) {
    console.log("hello! " + otherPersonsName + "nice to meet you!");
  },
};

// on object
console.log(player.name);
// plus function (==array.push)
player.sayHello("jiyoung ");
player.sayHello("gyeongmi ");

계산기 만들기

const calculator = {
  add: function (a, b) {
    console.log(a + b);
  },
  minus: function (a, b) {
    console.log(a - b);
  },
  div: function (a, b) {
    console.log(a / b);
  },
  multi: function (a, b) {
    console.log(a * b);
  },
  powerOf: function (a, b) {
    console.log(a ** b);
  },
};

calculator.add(55, 3);
calculator.minus(15, 3);
calculator.div(48, 4);
calculator.multi(9, 6);
calculator.powerOf(2, 3);

예제1. 경고창 뜨게 만들기

const calculator = {
  add: function (a, b) {
    alert(a + b);
  },
  minus: function (a, b) {
    alert(a - b);
  },
  div: function (a, b) {
    alert(a / b);
  },
  multi: function (a, b) {
    alert(a * b);
  },
  powerOf: function (a, b) {
    alert(a ** b);
  },
};

calculator.add(55, 3);
calculator.minus(15, 3);
calculator.div(48, 4);
calculator.multi(9, 6);
calculator.powerOf(2, 3);

예제2. 코드에서 결과값 나타나게 하기

ex. 나의 한국 나이를 계산하는 외국인일 경우, Return이용(Function안과 밖을 소통하고자)

const age = 96;
function calculateKrAge(ageOfForeigner) {
  return ageOfForeigner + 2;
}

const krAge = calculateKrAge(age);
console.log(krAge);

98 이라고 뜰 것이다.

const age = 96;
function calculateKrAge(ageOfForeigner) {
  ageOfForeigner + 2;
  return "hello";
}

const krAge = calculateKrAge(age);
console.log(krAge);

hello 이라고 뜰 것이다.

이처럼, Return의 역할은

function 안에서 무언가를 return해서,
누군가 그 function을 실행할 때, 해당 function의 return 값으로 대체

즉, Function안의 반환 값과 같은 variable을 console.log로 하고 있다. 

Function외부에서 value 도출해내고 싶을 때 쓰임.

  • 중요한 개념!
const calculator = {
  add: function (a, b) {
    return a + b;
    console.log("hello");
  },
  minus: function (a, b) {
    return a - b;
  },
  div: function (a, b) {
    return a / b;
  },
  multi: function (a, b) {
    return a * b;
  },
  powerOf: function (a, b) {
    return a ** b;
  },
};

const addResult = calculator.add(2, 3);

콘솔창엔 뜨지 않는다.

▶한번 return하면 function 작동을 멈추고 결과 값을 return하고 끝나버린다. : 마지막줄에 return이 있으면 그 다음줄에 어떤 console.log사항, 기타사항이 있더라도 그 즉시 종료되어 그 다음 console.log 값은 나타나지 않는 것!

return까지만 작동한다.


앞의 계산기 만든 코드에 다시 적용을 한다면, 

const calculator = {
  add: function (a, b) {
    return a + b;
  },
  minus: function (a, b) {
    return a - b;
  },
  div: function (a, b) {
    return a / b;
  },
  multi: function (a, b) {
    return a * b;
  },
  powerOf: function (a, b) {
    return a ** b;
  },
};

const addResult = calculator.add(2, 3);
const minusResult = calculator.minus(plusResult, 10);
const divideResult = calculator.div(10, minusResult);
const multiResult = calculator.multi(divideResult, minusResult);
const powerOfResult = calculator.powerOf(divideResult, plusResult);

console.log(plusResult, minusResult, divideResult, multiResult, powerOfResult);

'개발언어 > JavaScript' 카테고리의 다른 글

JavaScript - 브라우저(Document, Elements, Events)  (0) 2021.08.26
Conditionals : 조건문 (if,else)  (0) 2021.08.25
Objects [설명이 필요한 정보가 담긴 데이터 리스트들]  (0) 2021.08.24
Array [설명이 필요하지 않은 데이터 리스트들]  (0) 2021.08.24
Booleans(true,false,null, undefined)  (0) 2021.08.24
  • Function이란? 
  • 계산기 만들기
  • 예제1. 경고창 뜨게 만들기
  • 예제2. 코드에서 결과값 나타나게 하기
'개발언어/JavaScript' 카테고리의 다른 글
  • JavaScript - 브라우저(Document, Elements, Events)
  • Conditionals : 조건문 (if,else)
  • Objects [설명이 필요한 정보가 담긴 데이터 리스트들]
  • Array [설명이 필요하지 않은 데이터 리스트들]
Roxylife
Roxylife
꿈나무 FE개발자

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.