Skip to content

Commit 2bb0008

Browse files
[자료형] 원문 업데이트 분(BigInt) 반영
1 parent 10481e8 commit 2bb0008

File tree

1 file changed

+36
-36
lines changed

1 file changed

+36
-36
lines changed

1-js/02-first-steps/05-types/article.md

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ let message = "hello";
88
message = 123456;
99
```
1010

11-
이처럼 자료의 타입은 있지만, 변수의 타입은 언제든지 바꿀 수 있는 언어를 "동적 타입(dynamically typed)" 언어라고 부릅니다.
11+
이처럼 자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어를 '동적 타입(dynamically typed)' 언어라고 부릅니다.
1212

13-
자바스크립트에는 여덟 가지 기본 자료형이 있습니다. 이번 챕터에선 이 자료형 모두를 전반적으로 다루도록 하겠습니다. 각 자료형에 대한 세부 사항들은 이어지는 챕터에서 다루도록 하겠습니다.
13+
자바스크립트에는 여덟 가지 기본 자료형이 있습니다. 이번 챕터에선 이 자료형 모두를 개괄적으로 다루도록 하겠습니다. 각 자료형에 대한 세부 사항들은 이어지는 챕터에서 다룰 예정입니다.
1414

1515
## 숫자형
1616

@@ -21,11 +21,11 @@ n = 12.345;
2121

2222
*숫자형(number type)* 은 정수 및 부동소수점 숫자(floating point number)를 나타냅니다.
2323

24-
숫자형과 관련된 연산엔 곱셈 `*`, 나눗셈 `/`, 덧셈 `+`, 뺄셈 `-` 등이 있습니다.
24+
숫자형과 관련된 연산은 다양한데, 곱셈 `*`, 나눗셈 `/`, 덧셈 `+`, 뺄셈 `-` 등이 대표적입니다.
2525

26-
숫자형엔 일반적인 숫자 외에 `Infinity`, `-Infinity`, `NaN`같은 "특수 숫자 값(special numeric value)"이 포함됩니다.
26+
숫자형엔 일반적인 숫자 외에 `Infinity`, `-Infinity`, `NaN`같은 '특수 숫자 값(special numeric value)'이 포함됩니다.
2727

28-
- `Infinity`는 어떤 숫자보다 큰 특별한 값인 [무한대](https://en.wikipedia.org/wiki/Infinity)를 나타냅니다.
28+
- `Infinity`는 어떤 숫자보다 큰 특수 값, [무한대(∞)](https://en.wikipedia.org/wiki/Infinity)를 나타냅니다.
2929

3030
어느 숫자든 0으로 나누면 무한대를 얻을 수 있습니다.
3131

@@ -53,7 +53,7 @@ n = 12.345;
5353
연산 과정 어디에선가 `NaN`이 반환되었다면, 이는 모든 결과에 영향을 미칩니다.
5454

5555
```smart header="수학 연산은 안전합니다."
56-
자바스크립트에서 행해지는 수학 연산은 "안전"하다고 볼 수 있습니다. 무언가를 0으로 나누거나 숫자가 아닌 문자열을 숫자로 취급하는 등의 이례적인 연산이 자바스크립트에선 가능합니다.
56+
자바스크립트에서 행해지는 수학 연산은 '안전'하다고 볼 수 있습니다. 0으로 나눈다거나 숫자가 아닌 문자열을 숫자로 취급하는 등의 이례적인 연산이 자바스크립트에선 가능합니다.
5757
5858
말이 안 되는 수학 연산을 하더라도 스크립트는 치명적인 에러를 내뿜으며 죽지 않습니다. `NaN`을 반환하며 연산이 종료될 뿐입니다.
5959
```
@@ -64,21 +64,21 @@ n = 12.345;
6464

6565
## BigInt
6666

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자리 숫자로 이루어진 정수입니다. 따라서 대부분의 상황에서 이런 제약사항은 문제가 되지 않습니다. 하지만 아주 큰 숫자가 필요한 상황이거나 아주 높은 정밀도로 작업을 해야 할 때는 이런 큰 숫자가 필요합니다.
6868

69-
`BigInt` type was recently added to the language to represent integers of arbitrary length.
69+
`BigInt`형은 표준으로 채택된 지 얼마 안 된 자료형으로, 길이에 상관없이 정수를 나타낼 수 있습니다.
7070

71-
A `BigInt` is created by appending `n` to the end of an integer literal:
71+
`BigInt`는 정수 리터럴 끝에 `n`을 붙이면 만들 수 있습니다.
7272

7373
```js
74-
// the "n" at the end means it's a BigInt
74+
// 끝에 'n'이 붙으면 BigInt형 자료입니다.
7575
const bigInt = 1234567890123456789012345678901234567890n;
7676
```
7777

78-
As `BigInt` numbers are rarely needed, we devoted them a separate chapter <info:bigint>.
78+
`BigInt`형 숫자는 자주 쓰이지 않기 때문에 별도의 챕터, <info:bigint>에서 설명드리겠습니다.
7979

80-
```smart header="Compatability issues"
81-
Right now `BigInt` is supported in Firefox and Chrome, but not in Safari/IE/Edge.
80+
```smart header="호환성 이슈"
81+
이 글이 작성된 시점엔 Firefox와 Chrome에서만 `BigInt`를 지원합니다. Safari, IE, Edge에선 지원되지 않습니다.
8282
```
8383

8484
## 문자형
@@ -91,15 +91,15 @@ let str2 = 'Single quotes are ok too';
9191
let phrase = `can embed another ${str}`;
9292
```
9393

94-
따옴표는 아래와 같이 세 종류가 있습니다.
94+
따옴표는 세 종류가 있습니다.
9595

9696
1. 큰따옴표: `"Hello"`
9797
2. 작은따옴표: `'Hello'`
9898
3. 역 따옴표(백틱, backtick): <code>&#96;Hello&#96;</code>
9999

100-
큰따옴표와 작은따옴표는 "기본적인" 따옴표로, 자바스크립트에서는 이 둘에 차이를 두지 않습니다.
100+
큰따옴표와 작은따옴표는 '기본적인' 따옴표로, 자바스크립트에서는 이 둘에 차이를 두지 않습니다.
101101

102-
역 따옴표로 변수나 표현식을 감싼 후 `${…}`안에 넣어주면, 원하는 변수나 표현식을 문자열 중간에 손쉽게 넣을 수 있습니다. 아래와 같이 말이죠.
102+
역 따옴표로 변수나 표현식을 감싼 후 `${}`안에 넣어주면, 아래와 같이 원하는 변수나 표현식을 문자열 중간에 손쉽게 넣을 수 있습니다.
103103

104104
```js run
105105
let name = "John";
@@ -113,17 +113,17 @@ alert( `the result is *!*${1 + 2}*/!*` ); // the result is 3
113113

114114
`${…}` 안에는 `name` 같은 변수나 `1 + 2` 같은 수학 관련 표현식을 넣을 수 있습니다. 물론 더 복잡한 표현식도 넣을 수 있죠. 무엇이든 들어갈 수 있습니다. 이렇게 문자열 중간에 들어간 변수나 표현식은 평가가 끝난 후 문자열의 일부가 됩니다.
115115

116-
큰따옴표나 작은따옴표를 사용하면 원하는 대로 동작하지 않는다는 점에 주의하시기 바랍니다. 이 방법은 역 따옴표를 써야만 가능합니다.
116+
큰따옴표나 작은따옴표를 사용하면 중간에 표현식을 넣을 수 없다는 점에 주의하시기 바랍니다. 이 방법은 역 따옴표를 써야만 가능합니다.
117117
```js run
118118
alert( "the result is ${1 + 2}" ); // the result is ${1 + 2} (큰따옴표는 확장 기능을 지원하지 않습니다.)
119119
```
120120

121121
문자열은 <info:string>챕터에서 더 자세히 다루도록 하겠습니다.
122122

123123
```smart header="*글자형*은 없습니다."
124-
일부 언어는 글자 하나를 저장할 때 쓰이는 자료형, "글자(character)"형을 따로 지원합니다. C 언어와 Java의 `char`가 대표적인 예입니다.
124+
일부 언어는 글자 하나를 저장할 때 쓰이는 자료형, '글자(character)'형을 따로 지원합니다. C 언어와 Java의 `char`가 대표적인 예입니다.
125125
126-
자바스크립트는 글자형을 지원하지 않습니다. 한 글자 혹은 여러 글자로 구성된 `문자열`을 저장할 때 쓰이는 자료형인 문자형만 지원합니다.
126+
자바스크립트는 글자형을 지원하지 않습니다. `문자형`만 있을 뿐입니다. 여기엔 글자가 하나 혹은 여러 개 들어갈 수 있습니다.
127127
```
128128

129129
## 불린형
@@ -136,10 +136,10 @@ alert( "the result is ${1 + 2}" ); // the result is ${1 + 2} (큰따옴표는
136136

137137
```js
138138
let nameFieldChecked = true; // 네, name field가 확인되었습니다(checked).
139-
let ageFieldChecked = false; // 아니요, age field를 확인하지 않았습니다(checked)
139+
let ageFieldChecked = false; // 아니요, age field를 확인하지 않았습니다(not checked)
140140
```
141141

142-
불린값은 비교 결과를 저장할 때 사용되기도 합니다.
142+
불린값은 비교 결과를 저장할 때도 사용됩니다.
143143

144144
```js run
145145
let isGreater = 4 > 1;
@@ -149,27 +149,27 @@ alert( isGreater ); // true (비교 결과: "yes")
149149

150150
불린형에 대한 자세한 사항들은 <info:logical-operators> 챕터에서 다루도록 하겠습니다.
151151

152-
## "null"
152+
## 'null'
153153

154154
`null` 값은 지금까지 소개한 자료형 중 어느 자료형에도 속하지 않는 값입니다.
155155

156-
`null` 값은 오로지 `null` 값만 포함하는 별도의 자료형을 형성합니다.
156+
`null` 값은 오로지 `null` 값만 포함하는 별도의 자료형을 만듭니다.
157157

158158
```js
159159
let age = null;
160160
```
161161

162-
자바스크립트의 `null`은 자바스크립트 이외 언어의 `null`과 성격이 다릅니다. 자바스크립트 이외 언어에선 `null`"존재하지 않는 객체에 대한 참조" 또는 "널 포인터(null pointer)"를 나타낼 때 사용합니다.
162+
자바스크립트의 `null`은 자바스크립트 이외 언어의 `null`과 성격이 다릅니다. 다른 언어에선 `null`'존재하지 않는 객체에 대한 참조'나 '널 포인터(null pointer)'를 나타낼 때 사용합니다.
163163

164-
하지만 자바스크립트에선 `null`"존재하지 않는(nothing)" 값, "비어 있는(empty)" 값, "알 수 없는(unknown)" 값을 나타내는 데 사용합니다.
164+
하지만 자바스크립트에선 `null`'존재하지 않는(nothing)' 값, '비어 있는(empty)' 값, '알 수 없는(unknown)' 값을 나타내는 데 사용합니다.
165165

166166
`let age = null;``나이(age)`를 알 수 없거나 그 값이 비어있음을 보여줍니다.
167167

168-
## "undefined"
168+
## 'undefined'
169169

170-
`undefined` 값도 `null`이 자신만의 고유한 자료형을 만드는 것처럼 자신만의 자료형을 형성합니다.
170+
`undefined` 값도 `null` 값처럼 자신만의 자료형을 형성합니다.
171171

172-
`undefined`"값이 할당되지 않은 상태"를 나타낼 때 사용합니다.
172+
`undefined`'값이 할당되지 않은 상태'를 나타낼 때 사용합니다.
173173

174174
변수는 선언했지만, 값을 할당하지 않았다면 해당 변수에 `undefined`가 자동으로 할당됩니다.
175175

@@ -189,19 +189,19 @@ x = undefined;
189189
alert(x); // "undefined"
190190
```
191191

192-
하지만 이렇게 `undefined`를 직접 할당하는 걸 권장하진 않습니다. 변수가 "비어있거나" "알 수 없는" 상태라는 걸 나타내려면 `null`을 사용하세요. `undefined`는 변수에 값이 할당되었는지 여부를 확인할 때 사용하도록 합시다.
192+
하지만 이렇게 `undefined`를 직접 할당하는 걸 권장하진 않습니다. 변수가 '비어있거나' '알 수 없는' 상태라는 걸 나타내려면 `null`을 사용하세요. `undefined`는 변수에 값이 할당되었는지 여부를 확인할 때 사용하도록 합시다.
193193

194194
## 객체와 심볼
195195

196196
`객체(object)`형은 특수한 자료형입니다.
197197

198198
객체형을 제외한 다른 자료형은 문자열이든 숫자든 한 가지만 표현할 수 있기 때문에 원시(primitive) 자료형이라 부릅니다. 반면 객체는 데이터 컬렉션이나 복잡한 개체(entity)를 표현할 때 사용합니다. 이에 대한 자세한 내용은 원시형을 배우고 난 후 <info:object>에서 다루도록 하겠습니다.
199199

200-
`심볼(symbol)`형은 객체의 고유한 식별자(unique identifier)를 만들 때 사용됩니다. 심볼형에 대해선 객체를 학습하고 난 이후에 자세히 알아보도록 하겠습니다.
200+
`심볼(symbol)`형은 객체의 고유한 식별자(unique identifier)를 만들 때 사용됩니다. 심볼형에 대해선 객체를 학습하고 난 이후에 자세히 알아보겠습니다.
201201

202202
## typeof 연산자 [#type-typeof]
203203

204-
`typeof` 연산자는 인수의 자료형을 반환해줍니다. 자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아내고자 할 때 유용합니다.
204+
`typeof` 연산자는 인수의 자료형을 반환합니다. 자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아내고자 할 때 유용합니다.
205205

206206
`typeof` 연산자는 두 가지 형태의 문법을 지원합니다.
207207

@@ -240,18 +240,18 @@ typeof alert // "function" (3)
240240

241241
마지막 세 줄은 약간의 설명이 필요해 보이네요.
242242

243-
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"`을 출력해줍니다. 그런데 '함수'형은 따로 없습니다. 함수는 객체형에 속합니다. 이런 동작 방식이 형식적으론 잘못되긴 했지만, 실무에선 매우 유용합니다. 함수에 관한 내용은 이후 챕터에서 자세히 다루도록 하겠습니다.
246246

247247
## 요약
248248

249249
자바스크립트에는 일곱 가지 기본 자료형이 있습니다.
250250

251251
- `숫자형` -- 정수, 부동 소수점 숫자 등의 숫자를 나타낼 때 사용합니다.
252-
- `bigint` is for integer numbers of arbitrary length.
252+
- `bigint` -- 길이 제약 없이 정수를 나타낼 수 있습니다.
253253
- `문자형` -- 하나 혹은 그 이상의 문자로 만들어진 문자열을 나타낼 때 사용합니다. 단일 문자를 나타내는 별도의 자료형은 없습니다.
254-
- `불린형` -- `true`/`false`(참/거짓)를 나타낼 때 사용합니다.
254+
- `불린형` -- `true`, `false`를 나타낼 때 사용합니다.
255255
- `null` -- `null` 값만을 위한 독립 자료형입니다. `null`은 알 수 없는 값을 나타냅니다.
256256
- `undefined` -- `undefined` 값만을 위한 독립 자료형입니다. `undefined`는 할당되지 않은 값을 나타냅니다.
257257
- `객체형` -- 복잡한 데이터 구조를 표현할 때 사용합니다.

0 commit comments

Comments
 (0)