Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 1-js/02-first-steps/14-function-basics/4-pow/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ pow(1, 100) = 1 * 1 * ...* 1 = 1

[demo]

주의사항: `n`은 `1` 이상의 자연수이어야 합니다. 이외의 경우엔 자연수를 입력하라는 얼럿창을 띄워주어야 합니다.
주의사항: `n`은 `1` 이상의 자연수이어야 합니다. 이외의 경우엔 자연수를 입력하라는 얼럿 창을 띄워주어야 합니다.
12 changes: 6 additions & 6 deletions 1-js/02-first-steps/14-function-basics/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ function showMessage() {
}
```

`function` 키워드, *함수 이름*, 괄호로 둘러싼 매개변수를 차례로 써주면 함수를 선언할 수 있습니다. 위 함수에는 매개변수가 없는데, 만약 매개변수가 여러 개 있다면 각 매개변수를 콤마로 구분해줍니다. 이어서 함수를 구성하는 문의 모임인 "함수 본문(body)"을 중괄호로 감싸 붙여줍시다.
`function` 키워드, *함수 이름*, 괄호로 둘러싼 매개변수를 차례로 써주면 함수를 선언할 수 있습니다. 위 함수에는 매개변수가 없는데, 만약 매개변수가 여러 개 있다면 각 매개변수를 콤마로 구분해줍니다. 이어서 함수를 구성하는 코드의 모임인 "함수 본문(body)"을 중괄호로 감싸 붙여줍시다.

```js
function name(parameters) {
Expand All @@ -43,11 +43,11 @@ showMessage();
*/!*
```

`showMessage()`로 함수를 호출하면 함수 본문이 실행됩니다. 위 예시에선 showMessage를 두 번 호출했으므로 얼럿창이 두 번 뜹니다.
`showMessage()`로 함수를 호출하면 함수 본문이 실행됩니다. 위 예시에선 showMessage를 두 번 호출했으므로 얼럿 창이 두 번 뜹니다.

함수의 주요 용도 중 하나는 중복 코드 피하기입니다. 위 예시를 통해 이를 확인해 보았습니다.

얼럿창에 보여줄 메시지를 바꾸거나 메시지를 보여주는 방식 자체를 변경하고 싶다면, 함수 본문 중 출력에 관여하는 코드 딱 하나만 수정해주면 됩니다.
얼럿 창에 보여줄 메시지를 바꾸거나 메시지를 보여주는 방식 자체를 변경하고 싶다면, 함수 본문 중 출력에 관여하는 코드 딱 하나만 수정해주면 됩니다.

## 지역 변수

Expand Down Expand Up @@ -304,7 +304,7 @@ function showMovie(age) {
}
```

위 예시에서, `checkAge(age)`가 `false`를 반환하면, `(*)`로 표시한 줄은 실행이 안 되기 때문에 함수 `showMovie`는 얼럿창을 보여주지 않습니다.
위 예시에서, `checkAge(age)`가 `false`를 반환하면, `(*)`로 표시한 줄은 실행이 안 되기 때문에 함수 `showMovie`는 얼럿 창을 보여주지 않습니다.

````smart header="`return`문이 없거나 `return` 지시자만 있는 함수는 `undefined`를 반환합니다."
`return`문이 없는 함수도 무언가를 반환합니다. `undefined`를 반환하죠.
Expand All @@ -327,7 +327,7 @@ alert( doNothing() === undefined ); // true
````

````warn header="`return`과 값 사이에 절대 줄을 삽입하지 마세요."
반환하려는 값이 긴 표현식인 경우, 아래와 같이 지시자 `return`과 반환하려는 값 사이에 새 줄을 넣어 코드를 작성하면 좋지 않을까 하는 생각을 할 수도 있습니다
반환하려는 값이 긴 표현식인 경우, 아래와 같이 지시자 `return`과 반환하려는 값 사이에 새 줄을 넣어 코드를 작성하고 싶을 수도 있습니다.

```js
return
Expand Down Expand Up @@ -356,7 +356,7 @@ return (

## 함수 이름짓기 [#function-naming]

함수는 어떤 `동작`을 수행하기 위한 코드를 모아놓은 곳입니다. 따라서 함수의 이름은 대게 동사입니다. 함수 이름은 가능한 한 명확해야 합니다. 함수가 어떤 동작을 하는지 설명할 수 있어야 하죠. 코드를 읽는 사람은 함수 이름만 보고도 함수가 어떤 기능을 하는지 힌트를 얻을 수 있어야 합니다.
함수는 어떤 `동작`을 수행하기 위한 코드를 모아놓은 것입니다. 따라서 함수의 이름은 대게 동사입니다. 함수 이름은 가능한 한 간결하고 명확해야 합니다. 함수가 어떤 동작을 하는지 설명할 수 있어야 하죠. 코드를 읽는 사람은 함수 이름만 보고도 함수가 어떤 기능을 하는지 힌트를 얻을 수 있어야 합니다.

함수가 어떤 동작을 하는지 축약해서 설명해주는 동사를 접두어로 붙여 함수 이름을 만드는 게 관습입니다. 다만, 팀 내에서 그 뜻이 반드시 합의된 접두어만 사용해야 합니다.

Expand Down