개인 자료란 (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/762/770/003/262x150.crop.jpg?20240418073724

레드스톤

T.B.H (고민중독) | 노트블럭 버전 | NoteBlock Cover [한국어 영어 중국어 가사 추가]

노트블럭전문가

2024-04-18

0

/files/thumbnails/218/767/003/262x150.crop.jpg?20240412130213

레드스톤

우리의 꿈 - 원피스 오프닝

노트블럭전문가

2024-04-12

0

/files/thumbnails/505/766/003/262x150.crop.jpg?20240411122306

레드스톤

기동전사 건담 수성의 마녀 | 노트블럭 커버 1

노트블럭전문가

2024-04-11

1

/files/thumbnails/932/765/003/262x150.crop.jpg?20240410124459

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

노트블럭전문가

2024-04-10

0

/files/thumbnails/403/765/003/262x150.crop.jpg?20240409190538

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

Sonttukk

2024-04-09

4