Skip to content

Commit

Permalink
[ko] RegExp.lastMatch ($&) 신규 번역 외 (#22402)
Browse files Browse the repository at this point in the history
* [ko] RegExp.lastMatch ($&) 신규 번역 외

- RegExp.lastMatch ($&) 신규 번역
- String.prototype.replace() 최신 동기화
- String.prototype.valueOf() 최신 동기화

* Update files/ko/web/javascript/reference/global_objects/regexp/lastmatch/index.md

---------

Co-authored-by: hochan Lee <[email protected]>
  • Loading branch information
wisedog and hochan222 authored Jul 29, 2024
1 parent bbeab96 commit 5c672d4
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 12 deletions.
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

0 comments on commit 5c672d4

Please sign in to comment.