Skip to content

Commit

Permalink
[ko] DataView.prototype.getFloat16() 신규 번역 외 (mdn#22391)
Browse files Browse the repository at this point in the history
* [ko] DataView.prototype.getFloat16() 신규 번역 외

- DataView.prototype.getFloat16() 신규 번역 외
- ArrayBuffer.prototype.byteLength 최신화
- Number.isInteger() 최신화

* Update files/ko/web/javascript/reference/global_objects/number/isinteger/index.md

---------

Co-authored-by: hochan Lee <[email protected]>
  • Loading branch information
2 people authored and ikenk committed Oct 31, 2024
1 parent 335216f commit ca86272
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 30 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: ArrayBuffer.prototype.byteLength
slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/byteLength
l10n:
sourceCommit: 16bacf2194dc9e9ff6ee5bcc65316547cf88a8d9
---

{{JSRef}}
Expand All @@ -9,24 +11,27 @@ slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/byteLength

{{EmbedInteractiveExample("pages/js/arraybuffer-bytelength.html")}}

## 구문

```js
arraybuffer.byteLength;
```

## 설명

`byteLength` 속성은 설정자 속성이 `undefined`인 접근자 속성으로, 오직 읽기만 가능합니다. `byteLength`는 배열 버퍼를 처음 생성할 때 정해지며 바꿀 수 없습니다. `ArrayBuffer`분리된 경우 0을 반환합니다.
`byteLength` 속성은 설정된 접근자 함수가 `undefined`인 접근자 속성으로, 이 속성은 읽을 수만 있습니다. 이 값은 `DataView`가 생성될 때 설정되며 변경할 수 없습니다. `DataView`오프셋이나 `byteLength`를 지정하지 않은 경우 참조된 `ArrayBuffer` 혹은 `SharedArrayBuffer``byteLength`가 반환됩니다.

## 예제

### byteLength 속성 사용하기

```js
var buffer = new ArrayBuffer(8);
buffer.byteLength; // 8
const buffer = new ArrayBuffer(8);
const dataview = new DataView(buffer);
dataview.byteLength; // 8 (버퍼의 byteLength와 일치합니다)

const dataview2 = new DataView(buffer, 1, 5);
dataview2.byteLength; // 5 (DataView 생성 시 명시된 값)

const dataview3 = new DataView(buffer, 2);
dataview3.byteLength; // 6 (DataView 생성 시의 오프셋)
```

## 명세
## 명세서

{{Specifications}}

Expand All @@ -36,4 +41,6 @@ buffer.byteLength; // 8

## 같이 보기

- {{jsxref("DataView")}}
- {{jsxref("ArrayBuffer")}}
- {{jsxref("SharedArrayBuffer")}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: DataView.prototype.getFloat16()
slug: Web/JavaScript/Reference/Global_Objects/DataView/getFloat16
l10n:
sourceCommit: fb442649a7e91a177a582a3e9c6e1a95a9e8dda5
---

{{JSRef}}

{{jsxref("DataView")}} 인스턴스의 **`getFloat16()`** 메서드는 이 `DataView`의 지정된 바이트 오프셋에서 2바이트를 읽고 이를 16비트 부동소수점 숫자로 해석합니다. 정렬 제약 조건은 없으며, 범위 내의 모든 오프셋에서 멀티바이트 값을 가져올 수 있습니다.

{{EmbedInteractiveExample("pages/js/dataview-getfloat16.html")}}

## 구문

```js-nolint
getFloat16(byteOffset)
getFloat16(byteOffset, littleEndian)
```

### 매개변수

- `byteOffset`
- : 데이터를 읽을 뷰의 시작 부분으로부터의 오프셋(바이트 단위)입니다.
- `littleEndian` {{optional_inline}}
- : [리틀 엔디언 혹은 빅 엔디언](/ko/docs/Glossary/Endianness) 형식으로 저장되는지 여부를 나타냅니다. 만약 `false` 혹은 `undefined`라면 빅 엔디언 값을 읽습니다.

### 반환 값

`-65504`부터 `65504`까지의 부동 소수점 숫자.

### 예외

- {{jsxref("RangeError")}}
- : 데이터 뷰의 끝을 넘어서 읽을 수 있는 `byteOffset`이 설정된 경우 발생합니다.

## 예제

### getFloat16() 사용하기

```js
const { buffer } = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
const dataview = new DataView(buffer);
console.log(dataview.getFloat16(1)); // 0.00001537799835205078
```

## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat}}

## 같이 보기

- [`core-js`에서의 `DataView.prototype.getFloat16` 폴리필](https://github.com/zloirock/core-js#float16-methods)
- [JavaScript 형식화 배열](/ko/docs/Web/JavaScript/Guide/Typed_arrays) 안내서
- {{jsxref("DataView")}}
- {{jsxref("ArrayBuffer")}}
- {{jsxref("Float16Array")}}
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
---
title: Number.isInteger()
slug: Web/JavaScript/Reference/Global_Objects/Number/isInteger
l10n:
sourceCommit: 70f09675ddcfc75a3bb66d2dce4cf82738948a37
---

{{JSRef}}

**`Number.isInteger()`** 메서드는 주어진 값이 정수인지 판별합니다.
**`Number.isInteger()`** 정적 메서드는 전달받은 값의 정수 여부를 판별합니다.

{{EmbedInteractiveExample("pages/js/number-isinteger.html")}}

## 구문

```js
Number.isInteger(value);
```js-nolint
Number.isInteger(value)
```

### 매개변수
Expand All @@ -22,14 +24,20 @@ Number.isInteger(value);

### 반환 값

주어진 값의 정수 여부를 나타내는 {{jsxref("Boolean")}}.
주어진 값이 정수라면 불리언 값 `true`, 그렇지 않으면 `false` 입니다.

## 설명

매개변수의 값이 정수면 `true`를, 아니면 `false`를 반환합니다. 값이 {{jsxref("NaN")}}이거나 {{jsxref("Infinity")}}여도 `false`를 반환합니다.
대상 값이 정수이면 `true`를 반환하고, 그렇지 않으면 `false`를 반환합니다. 값이 {{jsxref("NaN")}} 또는 {{jsxref("Infinity")}}인 경우 `false`를 반환합니다. 이 메서드는 정수로 표현할 수 있는 부동 소수점 숫자에 대해서도 `true`를 반환합니다. 값이 숫자가 아닌 경우 항상 `false`를 반환합니다.

일부 숫자 리터럴은 정수가 아닌 것처럼 보이지만 실제로는 정수를 나타내며, 이는 ECMAScript 부동 소수점 숫자 인코딩의 정밀도 제한(IEEE-754)으로 인해 발생합니다. 예를 들어 `5.0000000000000001``5``1e-16`만큼만 차이가 나며, 이는 너무 작아서 표현할 수 없습니다. (참고로, [`Number.EPSILON`](/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON)은 1과 1보다 큰 다음 표현 가능한 부동 소수점 수 사이의 거리를 저장하며, 이는 약 `2.22e-16`입니다). 따라서 `5.0000000000000001``5`와 동일한 인코딩으로 표현되므로 `Number.isInteger(5.0000000000000001)``true`를 반환하게 됩니다.

이와 비슷하게 [`Number.MAX_SAFE_INTEGER`](/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)의 주변의 숫자는 정밀도 손실로 인해 정수가 아닌 경우에도 `Number.isInteger``true`를 반환하게 됩니다. (실제 임계값은 10진수를 표현하는 데 필요한 비트 수에 따라 달라집니다. 예를 들어 `Number.isInteger(4500000000000000.1)``true`이지만 `Number.isInteger(4500000000000000.5)``false`입니다.).

## 예제

### isInteger 사용하기

```js
Number.isInteger(0); // true
Number.isInteger(1); // true
Expand All @@ -46,23 +54,14 @@ Number.isInteger("10"); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
```

## 폴리필

```js
Number.isInteger =
Number.isInteger ||
function (value) {
return (
typeof value === "number" &&
isFinite(value) &&
Math.floor(value) === value
);
};
Number.isInteger(5.0); // true
Number.isInteger(5.000000000000001); // false
Number.isInteger(5.0000000000000001); // true, 정밀도 손실 발생
Number.isInteger(4500000000000000.1); // true, 정밀도 손실 발생
```

## 명세
## 명세서

{{Specifications}}

Expand All @@ -72,4 +71,5 @@ Number.isInteger =

## 같이 보기

- 메서드가 속한 {{jsxref("Number")}} 객체.
- [`core-js`에서의 `Number.isInteger` 폴리필](https://github.com/zloirock/core-js#ecmascript-number)
- {{jsxref("Number")}}

0 comments on commit ca86272

Please sign in to comment.