You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/05-types/article.md
+36-36Lines changed: 36 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,9 @@ let message = "hello";
8
8
message =123456;
9
9
```
10
10
11
-
이처럼 자료의 타입은 있지만, 변수의 타입은 언제든지 바꿀 수 있는 언어를 "동적 타입(dynamically typed)" 언어라고 부릅니다.
11
+
이처럼 자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어를 '동적 타입(dynamically typed)' 언어라고 부릅니다.
12
12
13
-
자바스크립트에는 여덟 가지 기본 자료형이 있습니다. 이번 챕터에선 이 자료형 모두를 전반적으로 다루도록 하겠습니다. 각 자료형에 대한 세부 사항들은 이어지는 챕터에서 다루도록 하겠습니다.
13
+
자바스크립트에는 여덟 가지 기본 자료형이 있습니다. 이번 챕터에선 이 자료형 모두를 개괄적으로 다루도록 하겠습니다. 각 자료형에 대한 세부 사항들은 이어지는 챕터에서 다룰 예정입니다.
14
14
15
15
## 숫자형
16
16
@@ -21,11 +21,11 @@ n = 12.345;
21
21
22
22
*숫자형(number type)* 은 정수 및 부동소수점 숫자(floating point number)를 나타냅니다.
23
23
24
-
숫자형과 관련된 연산엔 곱셈 `*`, 나눗셈 `/`, 덧셈 `+`, 뺄셈 `-` 등이 있습니다.
24
+
숫자형과 관련된 연산은 다양한데, 곱셈 `*`, 나눗셈 `/`, 덧셈 `+`, 뺄셈 `-` 등이 대표적입니다.
25
25
26
-
숫자형엔 일반적인 숫자 외에 `Infinity`, `-Infinity`, `NaN`같은 "특수 숫자 값(special numeric value)"이 포함됩니다.
26
+
숫자형엔 일반적인 숫자 외에 `Infinity`, `-Infinity`, `NaN`같은 '특수 숫자 값(special numeric value)'이 포함됩니다.
27
27
28
-
-`Infinity`는 어떤 숫자보다 큰 특별한 값인[무한대 ∞](https://en.wikipedia.org/wiki/Infinity)를 나타냅니다.
28
+
-`Infinity`는 어떤 숫자보다 큰 특수 값,[무한대(∞)](https://en.wikipedia.org/wiki/Infinity)를 나타냅니다.
29
29
30
30
어느 숫자든 0으로 나누면 무한대를 얻을 수 있습니다.
31
31
@@ -53,7 +53,7 @@ n = 12.345;
53
53
연산 과정 어디에선가 `NaN`이 반환되었다면, 이는 모든 결과에 영향을 미칩니다.
54
54
55
55
```smart header="수학 연산은 안전합니다."
56
-
자바스크립트에서 행해지는 수학 연산은 "안전"하다고 볼 수 있습니다. 무언가를 0으로 나누거나 숫자가 아닌 문자열을 숫자로 취급하는 등의 이례적인 연산이 자바스크립트에선 가능합니다.
56
+
자바스크립트에서 행해지는 수학 연산은 '안전'하다고 볼 수 있습니다. 0으로 나눈다거나 숫자가 아닌 문자열을 숫자로 취급하는 등의 이례적인 연산이 자바스크립트에선 가능합니다.
57
57
58
58
말이 안 되는 수학 연산을 하더라도 스크립트는 치명적인 에러를 내뿜으며 죽지 않습니다. `NaN`을 반환하며 연산이 종료될 뿐입니다.
59
59
```
@@ -64,21 +64,21 @@ n = 12.345;
64
64
65
65
## BigInt
66
66
67
-
In JavaScript, the "number" type cannot represent integer values larger than <code>2<sup>53</sup></code>(or less than <code>-2<sup>53</sup></code>for negatives), that's a technical limitation caused by their internal representation. That's about 16 decimal digits, so for most purposes the limitation isn't a problem, but sometimes we need really big numbers, e.g. for cryptography or microsecond-precision timestamps.
67
+
내부 표현 방식 때문에 자바스크립트에선 <code>2<sup>53</sup></code>보다 큰 값 혹은 <code>-2<sup>53</sup></code>보다 작은 정수는 숫자형을 사용해 나타낼 수 없습니다. <code>2<sup>53</sup></code>는 16자리 숫자로 이루어진 정수입니다. 따라서 대부분의 상황에서 이런 제약사항은 문제가 되지 않습니다. 하지만 아주 큰 숫자가 필요한 상황이거나 아주 높은 정밀도로 작업을 해야 할 때는 이런 큰 숫자가 필요합니다.
68
68
69
-
`BigInt` type was recently added to the language to represent integers of arbitrary length.
69
+
`BigInt`형은 표준으로 채택된 지 얼마 안 된 자료형으로, 길이에 상관없이 정수를 나타낼 수 있습니다.
70
70
71
-
A `BigInt` is created by appending `n` to the end of an integer literal:
불린형에 대한 자세한 사항들은 <info:logical-operators> 챕터에서 다루도록 하겠습니다.
151
151
152
-
## "null" 값
152
+
## 'null' 값
153
153
154
154
`null` 값은 지금까지 소개한 자료형 중 어느 자료형에도 속하지 않는 값입니다.
155
155
156
-
`null` 값은 오로지 `null` 값만 포함하는 별도의 자료형을 형성합니다.
156
+
`null` 값은 오로지 `null` 값만 포함하는 별도의 자료형을 만듭니다.
157
157
158
158
```js
159
159
let age =null;
160
160
```
161
161
162
-
자바스크립트의 `null`은 자바스크립트 이외 언어의 `null`과 성격이 다릅니다. 자바스크립트 이외 언어에선 `null`을 "존재하지 않는 객체에 대한 참조" 또는 "널 포인터(null pointer)"를 나타낼 때 사용합니다.
162
+
자바스크립트의 `null`은 자바스크립트 이외 언어의 `null`과 성격이 다릅니다. 다른 언어에선 `null`을 '존재하지 않는 객체에 대한 참조'나 '널 포인터(null pointer)'를 나타낼 때 사용합니다.
163
163
164
-
하지만 자바스크립트에선 `null`을 "존재하지 않는(nothing)" 값, "비어 있는(empty)" 값, "알 수 없는(unknown)" 값을 나타내는 데 사용합니다.
164
+
하지만 자바스크립트에선 `null`을 '존재하지 않는(nothing)' 값, '비어 있는(empty)' 값, '알 수 없는(unknown)' 값을 나타내는 데 사용합니다.
165
165
166
166
`let age = null;`은 `나이(age)`를 알 수 없거나 그 값이 비어있음을 보여줍니다.
167
167
168
-
## "undefined" 값
168
+
## 'undefined' 값
169
169
170
-
`undefined` 값도 `null`이 자신만의 고유한 자료형을 만드는 것처럼 자신만의 자료형을 형성합니다.
170
+
`undefined` 값도 `null` 값처럼 자신만의 자료형을 형성합니다.
171
171
172
-
`undefined`는 "값이 할당되지 않은 상태"를 나타낼 때 사용합니다.
172
+
`undefined`는 '값이 할당되지 않은 상태'를 나타낼 때 사용합니다.
173
173
174
174
변수는 선언했지만, 값을 할당하지 않았다면 해당 변수에 `undefined`가 자동으로 할당됩니다.
175
175
@@ -189,19 +189,19 @@ x = undefined;
189
189
alert(x); // "undefined"
190
190
```
191
191
192
-
하지만 이렇게 `undefined`를 직접 할당하는 걸 권장하진 않습니다. 변수가 "비어있거나" "알 수 없는" 상태라는 걸 나타내려면 `null`을 사용하세요. `undefined`는 변수에 값이 할당되었는지 여부를 확인할 때 사용하도록 합시다.
192
+
하지만 이렇게 `undefined`를 직접 할당하는 걸 권장하진 않습니다. 변수가 '비어있거나' '알 수 없는' 상태라는 걸 나타내려면 `null`을 사용하세요. `undefined`는 변수에 값이 할당되었는지 여부를 확인할 때 사용하도록 합시다.
193
193
194
194
## 객체와 심볼
195
195
196
196
`객체(object)`형은 특수한 자료형입니다.
197
197
198
198
객체형을 제외한 다른 자료형은 문자열이든 숫자든 한 가지만 표현할 수 있기 때문에 원시(primitive) 자료형이라 부릅니다. 반면 객체는 데이터 컬렉션이나 복잡한 개체(entity)를 표현할 때 사용합니다. 이에 대한 자세한 내용은 원시형을 배우고 난 후 <info:object>에서 다루도록 하겠습니다.
199
199
200
-
`심볼(symbol)`형은 객체의 고유한 식별자(unique identifier)를 만들 때 사용됩니다. 심볼형에 대해선 객체를 학습하고 난 이후에 자세히 알아보도록 하겠습니다.
200
+
`심볼(symbol)`형은 객체의 고유한 식별자(unique identifier)를 만들 때 사용됩니다. 심볼형에 대해선 객체를 학습하고 난 이후에 자세히 알아보겠습니다.
201
201
202
202
## typeof 연산자 [#type-typeof]
203
203
204
-
`typeof` 연산자는 인수의 자료형을 반환해줍니다. 자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아내고자 할 때 유용합니다.
204
+
`typeof` 연산자는 인수의 자료형을 반환합니다. 자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아내고자 할 때 유용합니다.
1.`Math`는 수학 연산을 제공하는 내장 객체이므로 `"object"`가 출력됩니다. `Math`에 대해선 <info:number> 챕터에서 학습하도록 하겠습니다. 내장객체는 객체형이라는 것을 알려주기 위해 이런 예시를 작성해 보았습니다.
244
-
2.`typeof null`의 결과는 `"object"`입니다. `null`은 별도의 고유한 자료형을 가지는 특수 값으로 객체가 아니지만, 자바스크립트에선 호환성을 유지하기 위해 이런 오류를 수정하지 않고 남겨둔 상황입니다. 언어 자체의 오류이므로 `null`이 객체가 아님에 유의하시기 바랍니다.
245
-
3.`typeof`는 피연산자가 함수면 `"function"`을 반환합니다. 그러므로 `typeof alert`는 `"function"`을 출력해줍니다. 그런데 자바스크립트엔 "함수"형이 없습니다. 함수는 객체형에 속합니다. 이런 동작 방식이 형식적으론 잘못되긴 했지만, 실무에선 매우 유용하게 사용되고 있습니다. 함수에 관한 내용은 이후 챕터에서 자세히 다루도록 하겠습니다.
243
+
1.`Math`는 수학 연산을 제공하는 내장 객체이므로 `"object"`가 출력됩니다. `Math`에 대해선 <info:number> 챕터에서 학습하도록 하겠습니다. 내장 객체는 객체형이라는 것을 알려주기 위해 이런 예시를 작성해 보았습니다.
244
+
2.`typeof null`의 결과는 `"object"`입니다. `null`은 별도의 고유한 자료형을 가지는 특수 값으로 객체가 아니지만, 호환성을 유지하기 위해 이런 오류를 수정하지 않고 남겨둔 상황입니다. 언어 자체의 오류이므로 `null`이 객체가 아님에 유의하시기 바랍니다.
245
+
3.`typeof`는 피연산자가 함수면 `"function"`을 반환합니다. 그러므로 `typeof alert`는 `"function"`을 출력해줍니다. 그런데 '함수'형은 따로 없습니다. 함수는 객체형에 속합니다. 이런 동작 방식이 형식적으론 잘못되긴 했지만, 실무에선 매우 유용합니다. 함수에 관한 내용은 이후 챕터에서 자세히 다루도록 하겠습니다.
246
246
247
247
## 요약
248
248
249
249
자바스크립트에는 일곱 가지 기본 자료형이 있습니다.
250
250
251
251
-`숫자형` -- 정수, 부동 소수점 숫자 등의 숫자를 나타낼 때 사용합니다.
252
-
-`bigint`is for integer numbers of arbitrary length.
252
+
-`bigint`-- 길이 제약 없이 정수를 나타낼 수 있습니다.
253
253
-`문자형` -- 하나 혹은 그 이상의 문자로 만들어진 문자열을 나타낼 때 사용합니다. 단일 문자를 나타내는 별도의 자료형은 없습니다.
254
-
-`불린형` -- `true`/`false`(참/거짓)를 나타낼 때 사용합니다.
254
+
-`불린형` -- `true`, `false`를 나타낼 때 사용합니다.
255
255
-`null` -- `null` 값만을 위한 독립 자료형입니다. `null`은 알 수 없는 값을 나타냅니다.
256
256
-`undefined` -- `undefined` 값만을 위한 독립 자료형입니다. `undefined`는 할당되지 않은 값을 나타냅니다.
0 commit comments