개인 자료란 (JE)

  서버 커뮤니티

Profile lukekeum 대표칭호 없음
Profile

JavaScript

[ JavaScript 기초강좌 ] 4강 함수

2020.05.04 조회 수 339 추천 수 0

함수

이번에는 함수에 관하여 알아보겠습니다. 함수는, 특정 코드를 하나의 명령으로 실행 할 수 있게 해 주는 기능입니다.
우리가 이전에 연산자로 두 값의 합을 얻는 법을 배웠습니다. 한번 그 코드를 다시 봐볼까용?

const a = 3;
const b = 5;
const sum = a + b // 기댓값: 8
console.log(sum) // 출력값: 8

이 것을 한번 함수로 정의해 보겠습니다. 함수를 정의할 때에는 function이라는 키워드를 사용합니다. (ES6이상일 경우, 화살표함수를 사용할 수 있습니다) 아래와 같이 적어보세요

function add(a, b) {
  return a + b;
}
const sum = add(3, 5);
console.log(sum); // 출력값: 8

이런식으로 정의를 할 수 있습니다. 함수를 정의할 때에는 function이라는 키워드를 사용하며, 함수에서 어떤 값을 받아올지 정해주는 이를 파라미터라고 부릅니다.  위의 예제에서는 3과 5입니다. 함수 내부에서 return이라는 키워드를 사용하여 함수의 과제물을 제출할 수 있습니다. 추가적으로, return을 하게되면, 함수가 끝이 납니다. return아래에 만약에 코드가 있다면, 그 코드는 실행이 안됩니다. 한번 아래코드를 실행시켜 확인해 보세요.

function add(a, b) {
  return a + b;
  console.log("명령이 실행 되었나용?");
}
const sum = add(3, 5)

아래와 같이 실행시키면, 명령어가 실행되지 않는다는 것을 확인할 수 있습니다. 함수를 사용하면,  코드의 반복을 확실히 줄일 수 있습니다. 만약에, 우리가 100줄의 알고리즘을 1억번 반복시키려면, 우리는 100억줄의 코드를 써야합니다. 하지만, 우리가 함수를 이용하면, 말이 달라집니다. 방금 말했던 코드의 약 1억배나 줄어듭니다. 과연 어느 코드가 효율적일까요? 당연히 후자의 코드가 더 효율적입니다! 코드를 짤 때에는 최대한 반복적인 구조를 줄여야 효율적이고 최적화된 코드가 됩니다.  자, 이제 화살표 함수에 대해서 알아볼까요?

화살표함수

본 함수는 자바스크립트 버전 ES6(이하 ECMAScript2015)이상 만 사용 가능합니다
codesandbox를 사용하시는 분은이 강의를 그냥 들으시면 됩니다

화살표 함수는, 일반 함수와 같지만, 단지 정의 방식만 다릅니다. 정의하는 방식은 아래의 코드와 같은 형태입니다

const a = (a) => {
  // 코드
}

근데, 이 두가지 함수의 주요 차이점은 화사룦 함수에서 가르키는 this와 function에서 가르키는 this가 서로 다르다는 것입니다. 이는 나중에 함께 다뤄보도록 하죠

1개의 댓글

네모
2020.05.05

엥 이 시리즈 애초에 ES6 기준 아니었나요?!

const let 키워드 전부 ES6 부터 지원하는건데..!

뉴스 및 창작물
/files/thumbnails/268/789/003/262x150.crop.jpg?20240515192032

레드스톤

벌레먹은 돌 빠르게 제거하는 법

GlassesFilm

2024-05-15

0

/files/thumbnails/797/788/003/262x150.crop.jpg?20240515090924

건축

마인크래프트로 구현한 카르카손 보드게임

Warak

2024-05-15

1

/files/thumbnails/487/784/003/262x150.crop.jpg?20240508233607

모드

Windows Borderless 모드에서 악성코드 발견

학교가기싫다

2024-05-08

1

/files/thumbnails/384/778/003/262x150.crop.jpg?20240512002324

업데이트

마인크래프트 자바 에디션 스냅샷 24w18a

학교가기싫다

2024-05-06

0

/files/thumbnails/855/781/003/262x150.crop.jpg?20240505141129

레드스톤

레이저 클리너

GlassesFilm

2024-05-05

1