Skip to content
Merged
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
12 changes: 6 additions & 6 deletions 1-js/02-first-steps/02-structure/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ alert(3 +

세미콜론 자동 삽입이 일어나지 않았기 때문에 `6`이 출력됩니다. 어떤 줄이 `"+"` 로 끝나면, 그 줄은 "불완전한 표현식"이므로 세미콜론이 필요하지 않다는걸 직감하실 겁니다. 위 코드도 이런 직감대로 동작합니다.

**반면, 세미콜론이 정말로 필요하지만, 자바스크립트가 이를 추정하지 "못하는" 상황도 존재합니다.**
**반면, 세미콜론이 정말로 필요하지만 자바스크립트가 이를 추정하지 "못하는" 상황도 존재합니다.**

이런 상황에서 발생하는 에러는 찾거나 고치기가 상당히 어렵습니다.

Expand All @@ -69,7 +69,7 @@ alert("에러가 발생합니다.")
[1, 2].forEach(alert)
```

예제를 실행해 보면, 새롭게 추가한 `alert`만 제대로 출력되고, 에러가 발생하는 걸 확인할 수 있습니다.
예제를 실행해 보면 새롭게 추가한 `alert`만 제대로 출력되고 에러가 발생하는 걸 확인할 수 있습니다.

`alert` 끝에 세미콜론을 추가해 다시 실행하면 코드는 잘 작동합니다.
```js run
Expand All @@ -81,9 +81,9 @@ alert("제대로 동작합니다.");
"제대로 동작합니다." 메시지 다음에 `1`과 `2`가 나타나는 것을 확인할 수 있죠.


세미콜론이 없을 때 에러가 발생했던 이유는, 자바스크립트가 대괄호 `[...]`앞에는 세미콜론이 있다고 가정하지 않기 때문입니다.
세미콜론이 없을 때 에러가 발생했던 이유는 자바스크립트가 대괄호 `[...]`앞에는 세미콜론이 있다고 가정하지 않기 때문입니다.

따라서 세미콜론 자동 삽입이 일어나지 않고, 첫 번째 예제는 단일 문으로 처리됩니다. 자바스크립트 엔진이 보게 될 코드는 다음과 같아지죠.
따라서 세미콜론 자동 삽입이 일어나지 않고 첫 번째 예제는 단일 문으로 처리됩니다. 자바스크립트 엔진이 보게 될 코드는 다음과 같아지죠.

```js run no-beautify
alert("에러가 발생합니다.")[1, 2].forEach(alert)
Expand All @@ -96,13 +96,13 @@ alert("에러가 발생합니다.")[1, 2].forEach(alert)

## 주석

시간이 흐름에 따라, 자바스크립트 프로그램은 더욱더 복잡해졌습니다. 이로 인해 무슨 일이 왜 벌어지고 있는지를 설명해주는 *주석(comment)* 의 필요성이 요구되었습니다.
시간이 흐름에 따라 자바스크립트 프로그램은 더욱더 복잡해졌습니다. 이로 인해 무슨 일이 왜 벌어지고 있는지를 설명해주는 *주석(comment)* 의 필요성이 요구되었습니다.

주석은 스크립트의 어느 곳에나 작성할 수 있습니다. 자바스크립트 엔진은 주석을 무시하기 때문에 주석의 위치는 실행에 영향을 주지 않습니다.

**한 줄짜리 주석은 두 개의 슬래시 `//`로 시작됩니다.**

슬래시 뒤엔 주석을 적어주면 됩니다. 한 줄을 주석이 다 차지하는 형태도 있고, 문 다음에 주석이 이어지는 형태도 있습니다.
슬래시 뒤엔 주석을 적어주면 됩니다. 한 줄을 주석이 다 차지하는 형태도 있고 문 다음에 주석이 이어지는 형태도 있습니다.

아래와 같이 말이죠.
```js run
Expand Down