Skip to content

Commit

Permalink
[ko] SharedArrayBuffer() 생성자 신규 번역 외 (#22573)
Browse files Browse the repository at this point in the history
* [ko] SharedArrayBuffer() 생성자 신규 번역 외

- SharedArrayBuffer() 생성자 신규 번역
- String.prototype.padStart() 최신화

* 린트 에러 수정
  • Loading branch information
wisedog authored Jul 30, 2024
1 parent 534d4a0 commit eadcb81
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 28 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
title: SharedArrayBuffer() 생성자
slug: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer
l10n:
sourceCommit: c2445ce1dc3a0170e2fbfdbee10e18a7455c2282
---

{{JSRef}}

> **참고:** `SharedArrayBuffer` 생성자는 특정 [보안 요구 사항](/ko/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements)이 충족되지 않는 한 항상 전역적으로 사용할 수 없습니다.
**`SharedArrayBuffer()`** 생성자는 {{jsxref("SharedArrayBuffer")}} 객체를 생성합니다.

{{EmbedInteractiveExample("pages/js/sharedarraybuffer-constructor.html", "shorter")}}

## 구문

```js-nolint
new SharedArrayBuffer(length)
new SharedArrayBuffer(length, options)
```

> **참고:** `SharedArrayBuffer()`는 오직 [`new`](/ko/docs/Web/JavaScript/Reference/Operators/new)로만 생성할 수 있습니다. `new` 없이 호출하면 {{jsxref("TypeError")}} 예외가 발생합니다.
### 매개변수

- `length`
- : 생성할 배열 버퍼의 바이트 단위의 크기.
- `options` {{optional_inline}}
- : 아래 속성을 포함하고 있는 객체
- `maxByteLength` {{optional_inline}}
- : 공유 배열 버퍼의 최대 크기 조정이 가능한 바이트 단위의 최대 크기.

### 반환 값

`maxByteLength`가 명시되었다면 {{jsxref("SharedArrayBuffer/maxByteLength", "maxByteLength")}} 속성이 명시된 `maxByteLength`로 설정된 명시된 크기의 새로운 `SharedArrayBuffer`를 반환합니다.
내용은 0으로 초기화 됩니다.

## 예제

### SharedArrayBuffer를 생성하기 위해 언제나 new 연산자를 사용하세요

`SharedArrayBuffer` 생성자는 {{jsxref("Operators/new", "new")}} 연산자와 함께 생성해야 합니다.
`SharedArrayBuffer` 생성자를 `new` 없이 호출하면
{{jsxref("TypeError")}}가 발생합니다.

```js example-bad
const sab = SharedArrayBuffer(1024);
// TypeError: 내장 SharedArrayBuffer 생성자를
// new 없이 호출하는 것은 금지됩니다.
```

```js example-good
const sab = new SharedArrayBuffer(1024);
```

### 크기를 늘릴 수 있는 SharedArrayBuffer 크기 늘리기

이 예제에서 크기가 최대 16바이트로 늘어날 수 있는 8바이트 버퍼를 생성하고 {{jsxref("SharedArrayBuffer/grow", "grow()")}}를 통해 12바이트로 늘립니다.

```js
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });

buffer.grow(12);
```

> **참고:** `maxByteLength`는 사용 사례에 맞게 가능하면 가장 작은 수를 설정하기를 권장합니다. 메모리 부족 오류의 위험성을 감소시키기 위해 `1073741824`(1GB)를 초과할 수 없습니다.
## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat}}

## 같이 보기

- {{jsxref("Atomics")}}
- {{jsxref("ArrayBuffer")}}
- [JavaScript 형식화 배열](/ko/docs/Web/JavaScript/Guide/Typed_arrays) 안내서
Original file line number Diff line number Diff line change
@@ -1,32 +1,43 @@
---
title: String.prototype.padStart()
slug: Web/JavaScript/Reference/Global_Objects/String/padStart
l10n:
sourceCommit: b7ca46c94631967ecd9ce0fe36579be334a01275
---

{{JSRef}}

**`padStart()`** 메서드는 현재 문자열의 시작을 다른 문자열로 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다. 채워넣기는 대상 문자열의 시작(좌측)부터 적용됩니다.
**`padStart()`** 메서드는 {{jsxref("String")}} 값의 메서드로, 결과 문자열이 주어진 길이에 도달할 때까지 이 문자열의 시작 부분에 다른 문자열을 (필요하다면 여러 번) 채웁니다.
패딩은 이 문자열의 시작 부분부터 적용됩니다.

{{EmbedInteractiveExample("pages/js/string-padstart.html")}}

## 구문

```js
str.padStart(targetLength [, padString])
```js-nolint
padStart(targetLength)
padStart(targetLength, padString)
```

### 매개변수

- `targetLength`
- : 목표 문자열 길이. 현재 문자열의 길이보다 작다면 채워넣지 않고 그대로 반환.
- : 현재 `str`이 패딩된 후의 결과 문자열의 길이입니다.
만약 이 값이 `str.length보`다 작거나 같다면,
`str`이 그대로 반환됩니다.
- `padString` {{optional_inline}}
- : 현재 문자열에 채워넣을 다른 문자열. 문자열이 너무 길어 목표 문자열 길이를 초과한다면 좌측 일부를 잘라서 넣음. 기본값은 " ". (U+0020)
- : 현재 `str`을 채우는 데 사용할 문자열입니다.
만약 `padString``targetLength` 대비 너무 길다면,
끝 부분이 잘립니다. 기본값은 유니코드
"space" 문자 (U+0020)입니다.

### 반환 값

### 반환값
지정된 `targetLength`의 {{jsxref("String")}}으로, `padString`이 시작 부분부터 적용됩니다.

시작점부터 주어진 문자열로 채워 목표 길이를 만족하는 {{jsxref("String")}}.
## 예제

## 예시
### 기본 예제

```js
"abc".padStart(10); // " abc"
Expand All @@ -36,31 +47,20 @@ str.padStart(targetLength [, padString])
"abc".padStart(1); // "abc"
```

## 폴리필

다른 모든 코드 이전에 아래 코드를 포함하면 지원하지 않는 플랫폼에서도 `String.prototype.padStart()` 메서드를 사용할 수 있습니다.
### 고정 길이 문자열 숫자 변환

```js
// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
if (!String.prototype.padStart) {
String.prototype.padStart = function padStart(targetLength, padString) {
targetLength = targetLength >> 0; //truncate if number or convert non-number to 0;
padString = String(typeof padString !== "undefined" ? padString : " ");
if (this.length > targetLength) {
return String(this);
} else {
targetLength = targetLength - this.length;
if (targetLength > padString.length) {
padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed
}
return padString.slice(0, targetLength) + String(this);
}
};
// JavaScript version of: (unsigned)
// printf "%0*d" width num
function leftFillNum(num, targetLength) {
return num.toString().padStart(targetLength, "0");
}

const num = 123;
console.log(leftFillNum(num, 5)); // "00123"
```

## 명세
## 명세서

{{Specifications}}

Expand All @@ -70,4 +70,5 @@ if (!String.prototype.padStart) {

## 같이 보기

- [`core-js`에서의 `String.prototype.padStart` 폴리필](https://github.com/zloirock/core-js#ecmascript-string-and-regexp)
- {{jsxref("String.prototype.padEnd()")}}

0 comments on commit eadcb81

Please sign in to comment.