Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ko] RegExp.lastMatch ($&) 신규 번역 외 #22402

Merged
merged 2 commits into from
Jul 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: RegExp.lastMatch ($&)
slug: Web/JavaScript/Reference/Global_Objects/RegExp/lastMatch
l10n:
sourceCommit: fb85334ffa4a2c88d209b1074909bee0e0abd57a
---

{{JSRef}} {{Deprecated_Header}}

> [!NOTE]
> 마지막 일치 상태를 전역적으로 노출하는 모든 `RegExp` 정적 속성은 더 이상 사용되지 않습니다. 자세한 내용은 [더 이상 사용되지 않는 RegExp 기능](/ko/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features#regexp)을 참고하세요.

**`RegExp.lastMatch`** 정적 접근자 속성은 마지막 일치한 부분 문자열을 반환합니다. `RegExp["$&"]`는 이 속성의 별칭입니다.

## 설명

`lastMatch`는 {{jsxref("RegExp")}}의 정적 속성이기 때문에, 생성한 `RegExp` 객체의 속성으로 사용하는 것보다는 항상 `RegExp.lastMatch` 또는 `RegExp["$&"]`로 사용해야 합니다.

`lastMatch`의 값은 `RegExp`(`RegExp` 하위 클래스 제외) 인스턴스가 일치에 성공할 때마다 갱신됩니다. 일치하는 항목이 없으면 `lastMatch`는 빈 문자열입니다. `lastMatch`의 설정 접근자는 `undefined`이므로 이 속성을 직접 변경할 수 없습니다.

`&`는 유효한 식별자 부분이 아니므로 점 속성 접근자(`RegExp.$&`)와 함께 약칭을 사용할 수 없으며 이로 인해 {{jsxref("SyntaxError")}}가 발생합니다. 대신 [대괄호 표기법](/ko/docs/Web/JavaScript/Reference/Operators/Property_accessors)을 사용하시기 바랍니다.

`$&`는 {{jsxref("String.prototype.replace()")}}의 대체 문자열에도 사용할 수 있지만, 이는 `RegExp["$&"]` 레거시 속성과는 관련이 없습니다.

## 예제

### lastMatch와 $& 사용하기

```js
const re = /hi/g;
re.test("hi there!");
RegExp.lastMatch; // "hi"
RegExp["$&"]; // "hi"
```

## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat}}

## 같이 보기

- {{jsxref("RegExp/input", "RegExp.input ($_)")}}
- {{jsxref("RegExp/lastParen", "RegExp.lastParen ($+)")}}
- {{jsxref("RegExp/leftContext", "RegExp.leftContext ($`)")}}
- {{jsxref("RegExp/rightContext", "RegExp.rightContext ($')")}}
- {{jsxref("RegExp/n", "RegExp.$1, …, RegExp.$9")}}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: String.prototype.replace()
slug: Web/JavaScript/Reference/Global_Objects/String/replace
l10n:
sourceCommit: fb85334ffa4a2c88d209b1074909bee0e0abd57a
sourceCommit: 6e93ec8fc9e1f3bd83bf2f77e84e1a39637734f8
---

{{JSRef}}
Expand Down Expand Up @@ -36,15 +36,15 @@ replace(pattern, replacement)

문자열 패턴은 한 번만 바뀝니다. 전역 검색 및 바꾸기를 수행하려면 `g` 플래그가 있는 정규 표현식을 사용하거나 [`replaceAll()`](/ko/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll)을 대신 사용하세요.

`pattern`이 [`Symbol.replace`](/ko/docs/Web/JavaScript/Reference/Global_Objects/Symbol/replace) 메서드가 있는 객체(`RegExp` 객체 포함)인 경우, 해당 메서드는 대상 문자열과 `replacement`를 인수로 사용하여 호출됩니다. 그 반환 값은 `replace()`의 반환 값이 됩니다. 이 경우 `replace()`의 동작은 전적으로 `@@replace` 메서드로 인코딩됩니다. 예를 들어, 아래 설명에서 "그룹 캡처"에 대한 언급은 실제로 [`RegExp.prototype[@@replace]`](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/@@replace)에서 제공하는 기능입니다.
`pattern`이 [`Symbol.replace`](/ko/docs/Web/JavaScript/Reference/Global_Objects/Symbol/replace) 메서드가 있는 객체(`RegExp` 객체 포함)인 경우, 해당 메서드는 대상 문자열과 `replacement`를 인수로 사용하여 호출됩니다. 그 반환 값은 `replace()`의 반환 값이 됩니다. 이 경우 `replace()`의 동작은 전적으로 `[Symbol.replace]()` 메서드로 인코딩됩니다. 예를 들어, 아래 설명에서 "그룹 캡처"에 대한 언급은 실제로 [`RegExp.prototype[Symbol.replace]()`](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/@@replace)에서 제공하는 기능입니다.

`pattern`이 빈 문자열인 경우 문자열의 시작 부분에 대체 문자열이 추가됩니다.

```js
"xxx".replace("", "_"); // "_xxx"
```

플래그가 `g`인 정규식은 `replace()`가 두 번 이상 대체하는 유일한 경우입니다. 정규식 속성(특히 [sticky](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky) 플래그)이 `replace()`와 상호작용하는 방법에 대한 자세한 내용은 [`RegExp.prototype[@@replace]()`](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/@@replace)를 참고하세요.
플래그가 `g`인 정규식은 `replace()`가 두 번 이상 대체하는 유일한 경우입니다. 정규식 속성(특히 [sticky](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky) 플래그)이 `replace()`와 상호작용하는 방법에 대한 자세한 내용은 [`RegExp.prototype[Symbol.replace]()`](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/@@replace)를 참고하세요.

### 대체할 내용을 문자열로 지정하기

Expand Down Expand Up @@ -251,4 +251,4 @@ console.log("abcd".replace(/(?<group>bc)/, addOffset)); // "abc (1) d"
- {{jsxref("RegExp.prototype.exec()")}}
- {{jsxref("RegExp.prototype.test()")}}
- [`Symbol.replace`](/ko/docs/Web/JavaScript/Reference/Global_Objects/Symbol/replace)
- [`RegExp.prototype[@@replace]()`](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/@@replace)
- [`RegExp.prototype[Symbol.replace]()`](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/@@replace)
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
---
title: String.prototype.valueOf()
slug: Web/JavaScript/Reference/Global_Objects/String/valueOf
l10n:
sourceCommit: 27180875516cc311342e74b596bfb589b7211e0c
---

{{JSRef}}

**`valueOf()`** 메서드는 {{jsxref("String")}} 객체의 원시값을 반환합니다.
{{jsxref("String")}} 값의 **`valueOf()`** 메서드는 {{jsxref("String")}} 이 문자열 값을 반환합니다.

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

## 구문

```js
str.valueOf();
```js-nolint
valueOf()
```

### 매개변수

없음.

### 반환 값

지정된 {{jsxref("String")}} 객체의 원시 값을 나타내는 문자열.
주어진 {{jsxref("String")}} 객체의 원시 값을 나타내는 문자열.

## 설명

Expand All @@ -27,14 +33,14 @@ str.valueOf();

## 예제

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

```js
var x = new String("Hello world");
console.log(x.valueOf()); // 'Hello world' 가 보여집니다.
const x = new String("Hello world");
console.log(x.valueOf()); // 'Hello world'
```

## 명세
## 명세서

{{Specifications}}

Expand Down