recursal/MDN huggingface dataset:
Date.prototype.setUTCMilliseconds()
===================================

**`setUTCMilliseconds()`** 메서드는 표준시에 따라 지정된 날짜의 밀리 초를 설정합니다.

시도해보기
-----

구문
--


```js
setUTCMilliseconds(millisecondsValue)
```

### 매개변수

`millisecondsValue`

밀리 초를 나타내는 0에서 999 사이의 숫자입니다.

### 반환 값

1970년 1월 1일 00:00:00 UTC와 업데이트 된 날짜 사이의 밀리 초 숫자입니다.

설명
--

지정한 매개 변수가 예상 범위를 벗어난 경우 `setUTCMilliseconds()`는 그에 따라 `Date` 객체의 날짜 정보를 업데이트하려고 시도합니다. 예를 들어 `millisecondsValue`에 1100을 사용하면 `Date` 객체에 저장된 초가 1씩 증가하고 100은 밀리 초 단위로 사용됩니다.

예제
--

### `setUTCMilliseconds()` 사용하기


```js
var theBigDay = new Date();
theBigDay.setUTCMilliseconds(500);
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setutcmilliseconds |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Date.prototype.getUTCMilliseconds()`
* `Date.prototype.setMilliseconds()`
Date.prototype.toUTCString()
============================

**`toUTCString()`** 메서드는 날짜를 문자열로 변환하여 UTC 시단대로 해석합니다. `toGMTString()`은 이 메서드의 별칭입니다.

rfc7231에 기반하고 ECMA-262 toUTCString에 따라 음수 값을 가질 수 있습니다.

시도해보기
-----

구문
--


```js
toUTCString()
```

### 반환 값

UTC 시간대를 사용하여 지정된 날짜를 나타내는 문자열입니다.

설명
--

`toUTCString()`에 의하여 반환된 값은 `Www, dd Mmm yyyy hh:mm:ss GMT` 형식의 문자열입니다, 아래와 같습니다.

| 문자열 형식 | 설명 |
| --- | --- |
| `Www` | 요일, 세 글자로 (예를 들어 `Sun`, `Mon`) |
| `dd` | 월일, 필요한 경우 선두가 0인 두 자리 숫자로 표시 |
| `Mmm` | 달, 세 글자로 (예를 들어 `Jan`, `Feb`) |
| `yyyy` | 연도, 필요한 경우 선행 0이 포함된 네 자리 이상의 숫자로 표시 |
| `hh` | 시간, 필요한 경우 선행 0인 두 자리 숫자로 표시 |
| `mm` | 분, 필요한 경우 선행 0인 두 자리 숫자로 표시 |
| `ss` | 초, 필요한 경우 선행 0인 두 자리 숫자로 표시 |

### 별칭

JavaScript의 `Date` API는 Java의 `java.util.Date` 라이브러리의 영감을 받았습니다 (1997년 Java 1.1 이후로 사실상 유산이 될지라도). 특히 JavaScript의 날짜는 항상 UTC 시간에 의해 작동하는 반면, Greenwich Mean Time는 Coordinated Universal Time와 동일하지 않기 때문에, Java의 `Date` 클래스에는 `toGMTString`이라는 형편없는 이름의 메서드가 있었습니다. 웹 호환성의 이유로 `toGMTSring`은 `toUTCString`의 별칭으로 남아 있으며, 이들은 정확히 동일한 함수 개체를 참조합니다. 아래와 같습니다.


```js
Date.prototype.toGMTString.name === "toUTCString";
```

예제
--

### toUTCString() 사용


```js
const today = new Date("Wed, 14 Jun 2017 00:00:00 PDT");
const UTCstring = today.toUTCString(); // Wed, 14 Jun 2017 07:00:00 GMT
```

명세서
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.toutcstring |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Date.prototype.toLocaleString()`
* `Date.prototype.toDateString()` (en-US)
* `Date.prototype.toISOString()`
Date.prototype.toJSON()
=======================

**`toJSON()`** 메서드는 `Date` 객체의 문자열 표현을 반환합니다.

시도해보기
-----

구문
--


```js
dateObj.toJSON();
```

### 반환 값

주어진 날짜의 문자열 표현.

설명
--

`Date` 인스턴스는 시간의 특정 지점을 가리킵니다. `toJSON()`을 호출하면 `toISOString()` 사용해 그 인스턴스가 가리키는 시간의 문자열 표현을 반환합니다. `toJSON()`은 `Date` 값을 JSON으로 직렬화할 때 유용하게 사용할 수 있도록 만들어졌습니다.

예제
--

### `toJSON()` 사용하기


```js
const jsonDate = new Date().toJSON();
const backToDate = new Date(jsonDate);

console.log(jsonDate); //2015-10-26T07:46:36.611Z
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.tojson |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Date.prototype.toLocaleDateString()` (en-US)
* `Date.prototype.toTimeString()` (en-US)
* `Date.prototype.toUTCString()`
AggregateError() constructor
============================

**`AggregateError()`** 생성자는 `AggregateError` 객체를 생성합니다.

구문
--


```js
new AggregateError(errors)
new AggregateError(errors, message)
new AggregateError(errors, message, options)

AggregateError(errors)
AggregateError(errors, message)
AggregateError(errors, message, options)
```


**참고:** `AggregateError()`는 `new`와 함께 혹은 없이도 호출할 수 있습니다. 두 방법 모두 `AggregateError` 인스턴스를 생성합니다.

### 매개변수

`errors`

순회 가능한 오류들. 실제 `Error` 객체가 아닐 수 있습니다.

`message` Optional

사람이 읽을 수 있는 `AggregateError`의 선택적 설명입니다.

`options` Optional

다음 속성을 가진 객체입니다.

`cause` Optional

 오류의 특정 원인을 명시하는 속성입니다.
 보다 구체적이거나 유용한 오류 메시지로 오류를 잡아서 다시 오류를 발생시킬 때 이 속성을 사용하여 원래 오류를 전달할 수 있습니다.



예제
--

### AggregateError 생성하기


```js
try {
  throw new AggregateError([new Error("some error")], "Hello");
} catch (e) {
  console.log(e instanceof AggregateError); // true
  console.log(e.message); // "Hello"
  console.log(e.name); // "AggregateError"
  console.log(e.errors); // [ Error: "some error" ]
}
```

명세서
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-aggregate-error-constructor |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* Polyfill of `AggregateError` in `core-js`
* `Promise.any` (en-US)
AggregateError: errors
======================

`AggregateError` 인스턴스의 **`errors`** 데이터 속성에는 집계된 오류를
 나타내는 배열이 포함되어 있습니다.

값
-

`Array`이며, `AggregateError()` 생성자의 첫 번째 인자로 전달된 반복과 동일한 순서의 값을 가지고 있습니다.

| Property attributes of `AggregateError: errors` |
| --- |
| Writable | 가능 |
| Enumerable | 불가능 |
| Configurable | 가능 |

예제
--

### errors 사용하기


```js
try {
  throw new AggregateError(
    // An iterable of errors
    new Set([new Error("some error"), new Error("another error")]),
    "Multiple errors thrown",
  );
} catch (err) {
  console.log(err.errors);
  // [
  // Error: some error,
  // Error: another error
  // ]
}
```

명세서
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-aggregate-error |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* Control flow and error handling
* `AggregateError`
* `Error`: `cause`
Set.prototype.size
==================

**`size`** 접근자 속성은 `Set` (en-US) 객체의 원소 수를 반환합니다.

시도해보기
-----

설명
--

`size`의 값은 `Set` 객체가 가진 원소의 수를 나타내는 정수입니다. `size` 값의 설정자는 `undefined`입니다. 즉 값을 직접 바꿀 수는 없습니다.

예제
--

### `size` 사용하기


```js
var mySet = new Set();
mySet.add(1);
mySet.add(5);
mySet.add("some text");

mySet.size; // 3
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-get-set.prototype.size |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set` (en-US)
Set.prototype.clear()
=====================

**`clear()`** 메서드는 `Set` 객체를 비웁니다.

시도해보기
-----

구문
--


```js
mySet.clear();
```

예제
--

### `clear()` 사용하기


```js
var mySet = new Set();
mySet.add(1);
mySet.add("foo");

mySet.size; // 2
mySet.has("foo"); // true

mySet.clear();

mySet.size; // 0
mySet.has("bar"); // false
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype.clear |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set` (en-US)
* `Set.prototype.delete()`
Set.prototype.keys()
====================

**`keys()`** 메서드는 `values()` 메서드의 별칭입니다.

구문
--


```js
keys()
```

### 반환 값

주어진 `Set`의 각 요소에 대한 값을 포함하는 새로운 반복 객체입니다. 반복은 삽입 순입니다.

명세서
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype.keys |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set.prototype.entries()`
* `Set.prototype.values()`
Set.prototype.delete()
======================

**`delete()`** 메서드는 지정한 요소를 `Set` 객체에서 제거합니다.

시도해보기
-----

구문
--


```js
mySet.delete(value);
```

### 매개변수

`value`

`Set` 객체에서 제거할 요소의 값.

### 반환 값

요소를 제거했으면 `true`, 아니면 `false`.

예제
--

### `delete()` 사용하기


```js
var mySet = new Set();
mySet.add("foo");

mySet.delete("bar"); // Returns false. No "bar" element found to be deleted.
mySet.delete("foo"); // Returns true. Successfully removed.

mySet.has("foo"); // Returns false. The "foo" element is no longer present.
```


다음 예제는 `Set`에서 객체를 제거하는 방법을 보입니다.


```js
var setObj = new Set(); // Create a New Set.

setObj.add({ x: 10, y: 20 }); // Add object in the set.

setObj.add({ x: 20, y: 30 }); // Add object in the set.

// Delete any point with `x > 10`.
setObj.forEach(function (point) {
  if (point.x > 10) {
    setObj.delete(point);
  }
});
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype.delete |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set` (en-US)
* `Set.prototype.clear()`
Set.prototype[@@iterator]()
===========================

`Set` 객체의 **`@@iterator`** 메서드는
 Iteration 프로토콜을 구현하며,
 전개 구문 및
 `for...of` 루프와 같이
 순회를 예상하는 대부분의 구문에서 Set을 사용할 수 있도록 합니다. Set의 값을 산출하는 반복자를 반환합니다.

이 속성의 초기 값은 `Set.prototype.values` 속성의 초기 값과 동일한 함수 객체입니다.

시도해보기
-----

구문
--


```js
set[Symbol.iterator]()
```

### 반환 값

`Set.prototype.values()`와 동일하게 set의 값을 산출하는 새로운 반복 가능한 반복자 객체를 반환합니다.

예제
--

### for...of 루프를 사용한 반복

 이 메서드를 직접 호출할 필요는 거의 없습니다. `@@iterator` 메서드의 존재는 `Set` 객체가
 반복 가능하게 해주며,
 `for...of` 루프와 같은 반복 구문은 이 메서드를 자동으로 호출하여 루프를 돌릴 반복자를 얻게 됩니다.


```js
const mySet = new Set();
mySet.add("0");
mySet.add(1);
mySet.add({});
for (const v of mySet) {
  console.log(v);
}
```

### 반복자 수동으로 돌리기

반환된 반복자 객체의 `next()` 메서드를 수동으로 호출하여 반복 프로세스를 최대한 제어할 수 있습니다.


```js
const mySet = new Set();
mySet.add("0");
mySet.add(1);
mySet.add({});

const setIter = mySet[Symbol.iterator]();
console.log(setIter.next().value); // "0"
console.log(setIter.next().value); // 1
console.log(setIter.next().value); // Object
```

명세서
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype-@@iterator |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set.prototype.entries()`
* `Set.prototype.keys()`
* `Set.prototype.values()`
Set.prototype.entries()
=======================

**`entries()`** 메소드는 `Set` 객체의 각각의 요소를 삽입순서대로 **`[값, 값]`의 형태로 가진 배열**의 새로운 Iterator 객체를 반환합니다. `Set`객체에는 `Map`객체의 `key`가 없습니다. 그러나, `Map` 객체의 API와 비슷하게 유지하기 위해, 각각의 "요소"는 "키"와 "값" 자리에 같은 값을 가지게 됩니다. 결과적으로 `[값, 값]` 형태의 배열이 반환되게 됩니다.

시도해보기
-----

구문
--


```js
entries();
```

### 반환 값

주어진 `Set`의 요소를 삽입순서대로 `[값, 값]`의 형태로 포함한 배열의 새로운 `iterator` 객체를 반환합니다.

예제
--

### `entries()` 사용하기


```js
var mySet = new Set();
mySet.add("foobar");
mySet.add(1);
mySet.add("baz");

var setIter = mySet.entries();

console.log(setIter.next().value); // ["foobar", "foobar"]
console.log(setIter.next().value); // [1, 1]
console.log(setIter.next().value); // ["baz", "baz"]
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype.entries |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set.prototype.keys()`
* `Set.prototype.values()`
Set.prototype.forEach()
=======================

**`forEach()`** 메서드는 주어진 함수를 `Set` 요소 각각에 대해 삽입 순서대로 실행합니다.

시도해보기
-----

구문
--


```js
mySet.forEach(callback[, thisArg])
```

### 매개변수

`callback`
각 요소에 대해 실행할 함수. 다음 세 가지 인수를 받습니다.

`currentValue`, `currentKey`
처리할 현재 요소. `Set`은 키를 갖지 않으므로 두 인수 모두에 값을 전달합니다.
`set`
`forEach()`를 호출한 `Set`.

`thisArg`
`callback`을 실행할 때 `this`로 사용할 값.
### 반환 값

`undefined`.

설명
--

`forEach()` 메서드는 주어진 `callback`을 `Set`에 존재하는 요소에 대해 한 번씩 실행합니다. 삭제한 값에 대해선 실행하지 않습니다. 그러나 존재하되 값이 `undefined`인 경우엔 실행합니다.

`callback`은 다음 세 인수와 함께 호출됩니다.

* **요소 값**
* **요소 키**
* **순회 중인 `Set` 객체**

그러나 `Set`은 키 값을 사용하지 않으므로, 처음 두 개의 매개변수 모두 **요소 값**을 받습니다. 이는 `Map`과 `Array`에서 사용하는 `forEach()`와 동일한 형태를 유지하기 위해서입니다.

`thisArg` 매개변수를 `forEach()`에 제공한 경우 `callback`을 호출할 때 전달해 `this`의 값으로 쓰입니다. 전달하지 않으면 `undefined`를 사용하며, 최종 `this` 값은 함수의 `this`를 결정하는 평소 규칙을 따릅니다.

`forEach()`는 각각의 값을 한 번씩 방문하지만, 순회를 끝내기 전에 제거하고 다시 추가한 값은 예외입니다. 방문하기 전 제거한 값에 대해서는 `callback`을 호출하지 않습니다. `forEach()`가 끝나기 전 추가한 요소는 방문합니다.

`forEach()`는 `Set` 객체의 요소에 대해 `callback`을 실행만 하며 값을 반환하지는 않습니다.

예제
--

### `Set`의 내용물 기록하기

다음 코드는 `Set`의 요소 각각을 새로운 줄에 기록합니다.


```js
function logSetElements(value1, value2, set) {
  console.log("s[" + value1 + "] = " + value2);
}

new Set(["foo", "bar", undefined]).forEach(logSetElements);

// 콘솔 로그:
// "s[foo] = foo"
// "s[bar] = bar"
// "s[undefined] = undefined"
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype.foreach |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Array.prototype.forEach()`
* `Map.prototype.forEach()`
Set.prototype.values()
======================

**`values()`** method는 `Set` 객체에 요소가 삽입된 순서대로 각 요소의 값을 순환할 수 있는 새로운 Iterator 객체를 반환합니다.

**참고:** **`keys()`** 메소드는 이 메소드의 별칭입니다(`Map` 객체와 유사성을 위해).
 따라서, `key()` 페이지는 이곳으로 리다이렉트 됩니다.
 그것은 정확히 동일하게 작동하며 `Set` 요소의 **값**을 반환합니다.


시도해보기
-----

구문
--


```js
values();
```

### 반환 값

주어진 `Set`의 각 요소의 값을 삽입 순서대로 포함하는 새로운 iterator 객체

예시
--

### `values()` 사용하기


```js
var mySet = new Set();
mySet.add("foo");
mySet.add("bar");
mySet.add("baz");
var setIter = mySet.values();
console.log(setIter.next().value); // "foo"
console.log(setIter.next().value); // "bar"
console.log(setIter.next().value); // "baz"
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype.values |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set.prototype.entries()`
Set.prototype.add()
===================

**`add()`** 메서드는 `Set` 개체의 맨 뒤에 주어진 `value`의 새 요소를 추가합니다.

시도해보기
-----

구문
--


```js
mySet.add(value);
```

### 매개변수

`value`

`Set` 객체에 추가할 요소의 값.

### 반환 값

`Set` 객체.

예제
--

### `add` 메서드 사용하기


```js
var mySet = new Set();

mySet.add(1);
mySet.add(5).add("어떤 문자열"); // 계속 붙일 수 있음

console.log(mySet);
// Set [1, 5, "어떤 문자열"]
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype.add |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set` (en-US)
* `Set.prototype.delete()`
* `Set.prototype.has()`
Set.prototype.has()
===================

**`has()`** 메서드는 `Set` 객체에 주어진 요소가 존재하는지 여부를 판별해 반환합니다.

시도해보기
-----

구문
--


```js
mySet.has(value);
```

### 매개변수

`value`

`Set` 객체에서 존재 여부를 판별할 값.

### 반환 값

`Set` 객체에 값이 존재하면 `true`, 아니면 `false`.

**참고:** 기술적으로, `has()`는 `sameValueZero` 알고리즘을 사용해 요소의 존재 여부를 판별합니다.

예제
--

### `has()` 사용하기


```js
var mySet = new Set();
mySet.add("foo");

mySet.has("foo"); // true
mySet.has("bar"); // false

var set1 = new Set();
var obj1 = { key1: 1 };
set1.add(obj1);

set1.has(obj1); // true
set1.has({ key1: 1 }); // false, 형태만 같은 서로 다른 객체의 참조이기 때문
set1.add({ key1: 1 }); // set1의 요소가 2개로 늘어남
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-set.prototype.has |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Set` (en-US)
* `Set.prototype.add()`
* `Set.prototype.delete()`
ArrayBuffer.prototype.byteLength
================================

**`byteLength`** 접근자 속성은 `ArrayBuffer`의 길이를 바이트 단위로 반환합니다.

시도해보기
-----

구문
--


```js
arraybuffer.byteLength;
```

설명
--

`byteLength` 속성은 설정자 속성이 `undefined`인 접근자 속성으로, 오직 읽기만 가능합니다. `byteLength`는 배열 버퍼를 처음 생성할 때 정해지며 바꿀 수 없습니다. `ArrayBuffer`가 분리된 경우 0을 반환합니다.

예제
--


```js
var buffer = new ArrayBuffer(8);
buffer.byteLength; // 8
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-get-arraybuffer.prototype.bytelength |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `ArrayBuffer`
ArrayBuffer.prototype.slice()
=============================

**`slice()`** 메서드는 현재 `ArrayBuffer`를 주어진 시작과 끝점에 맞춰 자른 새로운 `ArrayBuffer`를 반환합니다.

시도해보기
-----

구문
--


```js
    arraybuffer.slice(begin[, end])
```

### 매개변수

`begin`

자르기 시작할 지점을 나타내는 0 기반 인덱스.

`end` Optional

자르기 끝낼 지점을 나타내는 바이트 인덱스. 지정하지 않은 경우 새로운 `ArrayBuffer`는 지정한 시작점부터 현재 `ArrayBuffer`의 끝까지 가지게 됩니다.

### 반환 값

새로운 `ArrayBuffer` 객체.

설명
--

`slice()` 메서드는 `end` 매개변수로 지정한 바이트 위치 바로 앞까지 현재 배열 버퍼를 복사합니다. `begin`과 `end`는 음의 값인 경우 배열의 시작부터 위치를 세지 않고 끝에서부터 셉니다.

`end` 값이 유효한 범위를 벗어날 경우 버퍼 길이에 맞춰 잘라냅니다. 또한 새로운 ArrayBuffer의 길이가 음의 값이 나올 경우 0으로 처리합니다.

예제
--

### `ArrayBuffer` 복사하기


```js
const buf1 = new ArrayBuffer(8);
const buf2 = buf1.slice(0);
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-arraybuffer.prototype.slice |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `ArrayBuffer`
ArrayBuffer.isView()
====================

**`ArrayBuffer.isView()`** 메서드는 주어진 값이 `ArrayBuffer` 뷰, 즉 형식화 배열 객체 또는 `DataView`인지 판별합니다..

시도해보기
-----

구문
--


```js
ArrayBuffer.isView(value);
```

### 매개변수

`value`

판별할 값.

### 반환 값

주어진 값이 `ArrayBuffer` 뷰라면 `true`, 아니면 `false`.

예제
--


```js
ArrayBuffer.isView(); // false
ArrayBuffer.isView([]); // false
ArrayBuffer.isView({}); // false
ArrayBuffer.isView(null); // false
ArrayBuffer.isView(undefined); // false
ArrayBuffer.isView(new ArrayBuffer(10)); // false

ArrayBuffer.isView(new Uint8Array()); // true
ArrayBuffer.isView(new Float32Array()); // true
ArrayBuffer.isView(new Int8Array(10).subarray(0, 3)); // true

const buffer = new ArrayBuffer(2);
const dv = new DataView(buffer);
ArrayBuffer.isView(dv); // true
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-arraybuffer.isview |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* JavaScript 형식화 배열
ArrayBuffer() 생성자
=================

**`ArrayBuffer()`** 생성자는 `ArrayBuffer` 객체를 생성합니다.

시도해보기
-----

구문
--


```js
new ArrayBuffer(length);
```

### 매개변수

`length`

생성할 `ArrayBuffer`의 바이트 크기.

### 반환 값

지정한 크기를 가진 새로운 `ArrayBuffer` 객체. 내용은 모두 0으로 초기화됩니다.

### 예외

`length`가 `Number.MAX_SAFE_INTEGER`보다 크거나, 음수면 `RangeError`.

예제
--

아래 예제 코드는 8바이트 버퍼를 생성한 후 `Int32Array` 뷰로 그 버퍼를 참조합니다.


```js
var buffer = new ArrayBuffer(8);
var view = new Int32Array(buffer);
```

명세
--

| Specification |
| --- |
| ECMAScript Language Specification # sec-arraybuffer-constructor |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* JavaScript 형식화 배열
* `SharedArrayBuffer`
BigInt64Array() constructor
===========================

**`BigInt64Array()`** 형식화 배열(TypedArray)의 생성자는 플랫폼의 바이트 순서를 따르는 2의 보수 64비트의
 부호있는 정수 배열인 `BigInt64Array`을 생성합니다. 바이트 순서를 제어해야 하는 경우 대신
 `DataView`를 사용합니다. 배열의 내용은 `0n`으로 초기화됩니다. 배열이 생성되면 객체의 메서드를 사용하거나
 표준 배열 인덱스 구문(즉, 대괄호 표기법 사용)을 사용하여 배열의 요소를 참조할 수 있습니다.

구문
--


```js
new BigInt64Array()
new BigInt64Array(length)
new BigInt64Array(typedArray)
new BigInt64Array(object)

new BigInt64Array(buffer)
new BigInt64Array(buffer, byteOffset)
new BigInt64Array(buffer, byteOffset, length)
```


**참고:** `BigInt64Array()`는 오직
 `new`로만 생성할 수 있습니다.
 `new` 없이 호출하면 `TypeError` 예외가 발생합니다.


### 매개변수

`TypedArray`를 참조하세요.

### 예외

`TypedArray`를 참조하세요.

예제
--

### `BigInt64Array`을 생성하기 위한 각기 다른 방법


```js
// 길이로부터
const bigint64 = new BigInt64Array(2);
bigint64[0] = 42n;
console.log(bigint64[0]); // 42n
console.log(bigint64.length); // 2
console.log(bigint64.BYTES\_PER\_ELEMENT); // 8

// 배열로부터
const x = new BigInt64Array([21n, 31n]);
console.log(x[1]); // 31n

// 다른 TypedArray로부터
const y = new BigInt64Array(x);
console.log(y[0]); // 21n

// ArrayBuffer로 부터
const buffer = new ArrayBuffer(64);
const z = new BigInt64Array(buffer, 8, 4);
console.log(z.byteOffset); // 8

// 순회로부터
const iterable = (function\* () {
  yield\* [1n, 2n, 3n];
})();
const bigint64FromIterable = new BigInt64Array(iterable);
console.log(bigint64FromIterable);
// BigInt64Array [1n, 2n, 3n]
```

명세서
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-typedarray-constructors |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* JavaScript 형식화 배열
* `BigUint64Array`
* `DataView`
RangeError() 생성자
================

**`RangeError()`** 생성자는 어떤 값이 집합에 없거나 허용되는 범위가 아닐 때 발생하는 오류를 생성합니다

구문
--


```js
new RangeError()
new RangeError(message)
new RangeError(message, options)
new RangeError(message, fileName)
new RangeError(message, fileName, lineNumber)

RangeError()
RangeError(message)
RangeError(message, options)
RangeError(message, fileName)
RangeError(message, fileName, lineNumber)
```


**참고:** `RangeError()`는 `new`와 함께 호출하거나 혹은 `new` 없이 호출할 수 있습니다. 두 방법 모두 새로운 `RangeError` 인스턴스를 생성합니다.

### 매개변수

`message` Optional

사람이 읽을 수 있는 오류에 대한 설명

`options` Optional

다음의 속성을 가지는 객체.

`cause` Optional

 오류의 특정 원인을 가리키는 속성.
 오류를 잡아서 좀 더 상세하거나 유용한 오류 메시지와 함께 예외를 다시 발생시킬 때 이 속성을 원래 오류를 전달하는데 사용할 수 있습니다.



`fileName` Optional 
비표준

예외가 발생한 코드를 담고 있는 파일 이름

`lineNumber` Optional 
비표준

예외가 발상한 코드의 줄 수

예제
--

### RangeError 사용하기(숫자 값일 경우)


```js
function check(n) {
  if (!(n >= -500 && n <= 500)) {
    throw new RangeError("The argument must be between -500 and 500.");
  }
}
try {
  check(2000);
} catch (error) {
  if (error instanceof RangeError) {
    // Handle the error
  }
}
```

### RangeError 사용하기 (숫자 값이 아닐 경우)


```js
function check(value) {
  if (!["apple", "banana", "carrot"].includes(value)) {
    throw new RangeError(
      'The argument must be an "apple", "banana", or "carrot".',
    );
  }
}
try {
  check("cabbage");
} catch (error) {
  if (error instanceof RangeError) {
    // Handle the error
  }
}
```

명세서
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-nativeerror-constructors |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

같이 보기
-----

* `Error`
* `Array`
* `Number.prototype.toExponential()`
* `Number.prototype.toFixed()`
* `Number.prototype.toPrecision()`
* `String.prototype.normalize()`