diff --git a/files/ko/web/javascript/reference/global_objects/intl/displaynames/displaynames/index.md b/files/ko/web/javascript/reference/global_objects/intl/displaynames/displaynames/index.md new file mode 100644 index 00000000000000..7e377763acae37 --- /dev/null +++ b/files/ko/web/javascript/reference/global_objects/intl/displaynames/displaynames/index.md @@ -0,0 +1,128 @@ +--- +title: Intl.DisplayNames() 생성자 +slug: Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/DisplayNames +l10n: + sourceCommit: 21d44fab158378a975fd89ec37e46ec68a411bf2 +--- + +{{JSRef}} + +**`Intl.DisplayNames()`** 생성자는 {{jsxref("Intl.DisplayNames")}} 객체를 생성합니다. + +{{EmbedInteractiveExample("pages/js/intl-displaynames.html")}} + +## 구문 + +```js-nolint +new Intl.DisplayNames(locales, options) +``` + +> **참고:** `Intl.DisplayNames()`는 오직 [`new`](/ko/docs/Web/JavaScript/Reference/Operators/new)로만 생성할 수 있습니다. `new` 없이 호출을 시도하면 {{jsxref("TypeError")}} 예외가 발생합니다. + +### 매개변수 + +- `locales` + - : BCP 47 언어 태그가 포함된 문자열 또는 {{jsxref("Intl.Locale")}} 인스턴스 또는 이러한 로케일 식별자의 배열입니다. `undefined`이 전달되거나 명시된 로케일 식별자가 지원되지 않는 경우 런타임의 기본 로케일이 사용됩니다. `locales` 인수의 일반적인 형식과 해석에 대해서는 [`Intl` 메인 페이지의 매개변수 설명](/ko/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument)을 참고하세요. +- `options` + - : 검색되는 순서대로 다음 속성을 포함하는 객체입니다. + - `localeMatcher` {{optional_inline}} + - : 사용할 로케일 일치 알고리즘입니다. 가능한 값은 `"lookup"` 및 `"best fit"`이며, 기본값은 `"best fit"`입니다. 이 옵션에 대해 더 알고 싶으시다면 [로케일 식별 및 협상](/ko/docs/Web/JavaScript/Reference/Global_Objects/Intl#locale_identification_and_negotiation)을 참고하시기 바랍니다. + - `style` {{optional_inline}} + - : 사용할 서식 스타일. 가능한 값은 `"narrow"`, `"short"`, 그리고 `"long"`입니다. 기본 값은 `"long"`입니다.. + - `type` + - : [`of()`](/ko/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/of)로 부터 반환된 출력 이름의 유형입니다. 가능한 값은 `"language"`, `"region"`, `"script"`, `"currency"`, `"calendar"`, 그리고 `"dateTimeField"`입니다.. + - `fallback` {{optional_inline}} + - : 입력이 구조적으로 유효하지만 일치하는 표시 이름이 없는 경우 `of()`에서 반환할 값입니다. 가능한 값은 아래와 같습니다. + - `"code"` (기본) + - : 입력 코드 자체를 반환합니다. + - `"none"` + - : `undefined`을 반환합니다. + - `languageDisplay` {{optional_inline}} + - : 언어가 표시되어야 할 방법입니다. `type: "language"`와 함께 할때만 사용 가능합니다. 가능한 값은 다음과 같습니다. + - `"dialect"` (default) + - : 특수 지역 방언은 고유한 이름을 사용하여 표시합니다. 예: `"nl-BE"`는 `"플랑드르어"`로 표시됩니다. + - `"standard"` + - : 표준 형식을 사용하여 모든 언어를 표시합니다. 예: `"nl-BE"`는 `"네덜란드어(벨기에)"`로 표시됩니다. + +### 예외 + +- {{jsxref("TypeError")}} + - : `options.type`이 없을 경우 발생합니다. +- {{jsxref("RangeError")}} + - : `locales` 혹은 `options`에 유효하지 않은 값이 포함될 경우 발생합니다. + +## 예제 + +### 기본 사용법 + +어떠한 로케일 명시 없이 사용하는 기본 예제에서는 기본 로케일, 기본 옵션으로 +형식이 맞춰진 문자열이 반환됩니다. + +```js +console.log(new Intl.DisplayNames([], { type: "language" }).of("US")); +// 'us' +``` + +### `dateTimeField` type 사용하기 + +`dateTimeField`를 type 옵션으로 사용하는 예제는 지역화된 날짜 시간 이름 문자열을 반환합니다. + +```js +const dn = new Intl.DisplayNames("pt", { type: "dateTimeField" }); +console.log(dn.of("era")); // 'era' +console.log(dn.of("year")); // 'ano' +console.log(dn.of("month")); // 'mês' +console.log(dn.of("quarter")); // 'trimestre' +console.log(dn.of("weekOfYear")); // 'semana' +console.log(dn.of("weekday")); // 'dia da semana' +console.log(dn.of("dayPeriod")); // 'AM/PM' +console.log(dn.of("day")); // 'dia' +console.log(dn.of("hour")); // 'hora' +console.log(dn.of("minute")); // 'minuto' +console.log(dn.of("second")); // 'segundo' +``` + +### `calendar` type 사용하기 + +`calendar`을 type 옵션으로 사용하는 예제는 지역화 달력 이름 문자열을 반환합니다. + +```js +const dn = new Intl.DisplayNames("en", { type: "calendar" }); +console.log(dn.of("roc")); // 'Minguo Calendar' +console.log(dn.of("gregory")); // 'Gregorian Calendar' +console.log(dn.of("chinese")); // 'Chinese Calendar' +``` + +### `languageDisplay`와 함께 `language` type 사용하기 + +`languageDisplay` 옵션과 함께 `language`를 type으로 사용하는 예제입니다. + +```js +// `dialect` 옵션 사용 +const dnDialect = new Intl.DisplayNames("en", { + type: "language", + languageDisplay: "dialect", +}); +console.log(dnDialect.of("en-GB")); // 'British English' + +// `standard` 옵션 사용 +const dnStd = new Intl.DisplayNames("en", { + type: "language", + languageDisplay: "standard", +}); +console.log(dnStd.of("en-GB")); // 'English (United Kingdom)' +``` + +## 명세서 + +{{Specifications}} + +## 브라우저 호환성 + +{{Compat}} + +## 같이 보기 + +- {{jsxref("Intl.DisplayNames")}} +- {{jsxref("Intl.supportedValuesOf()")}} +- {{jsxref("Intl")}} diff --git a/files/ko/web/javascript/reference/global_objects/intl/displaynames/index.md b/files/ko/web/javascript/reference/global_objects/intl/displaynames/index.md index cbe0407cc91bf8..bf3a6e4f7abc41 100644 --- a/files/ko/web/javascript/reference/global_objects/intl/displaynames/index.md +++ b/files/ko/web/javascript/reference/global_objects/intl/displaynames/index.md @@ -2,7 +2,7 @@ title: Intl.DisplayNames slug: Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames l10n: - sourceCommit: 77176b1f35f73f319bb5b959e5c90db8b5a0f9ea + sourceCommit: 6e93ec8fc9e1f3bd83bf2f77e84e1a39637734f8 --- {{JSRef}} @@ -27,8 +27,8 @@ l10n: - {{jsxref("Object/constructor", "Intl.DisplayNames.prototype.constructor")}} - : 인스턴스 객체를 만든 생성자 함수입니다. `Intl.DisplayNames` 인스턴스의 경우 초기 값은 {{jsxref("Intl/DisplayNames/DisplayNames", "Intl.DisplayNames")}} 생성자입니다. -- `Intl.DisplayNames.prototype[@@toStringTag]` - - : [`@@toStringTag`](/ko/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) 속성의 초기 값은 문자열 `"Intl.DisplayNames"`입니다. 이 속성은 {{jsxref("Object.prototype.toString()")}}에서 사용됩니다. +- `Intl.DisplayNames.prototype[Symbol.toStringTag]` + - : [`Symbol.toStringTag`](/ko/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) 속성의 초기 값은 문자열 `"Intl.DisplayNames"`입니다. 이 속성은 {{jsxref("Object.prototype.toString()")}}에서 사용됩니다. ## 인스턴스 메서드 diff --git a/files/ko/web/javascript/reference/global_objects/string/endswith/index.md b/files/ko/web/javascript/reference/global_objects/string/endswith/index.md index 3b35eb22d99310..9d89859cebfbcb 100644 --- a/files/ko/web/javascript/reference/global_objects/string/endswith/index.md +++ b/files/ko/web/javascript/reference/global_objects/string/endswith/index.md @@ -1,69 +1,56 @@ --- title: String.prototype.endsWith() slug: Web/JavaScript/Reference/Global_Objects/String/endsWith +l10n: + sourceCommit: b7ca46c94631967ecd9ce0fe36579be334a01275 --- {{JSRef}} -The **`endsWith()`** 메서드를 사용하여 어떤 문자열에서 특정 문자열로 끝나는지를 확인할 수 있으며, 그 결과를 `true` 혹은 `false`로 반환한다. +{{jsxref("String")}} 값의 **`endsWith()`** 메서드는 문자열이 이 문자열의 문자로 끝나는지 여부를 결정하여 적절하게 `true` 또는 `false`를 반환합니다. -## 문법 +{{EmbedInteractiveExample("pages/js/string-endswith.html")}} -```js -str.endsWith(searchString[, length]) +## 구문 + +```js-nolint +endsWith(searchString) +endsWith(searchString, endPosition) ``` -### 파라미터들 +### 매개변수 - `searchString` - - : 이 문자열의 끝이 특정 문자열로 끝나는지를 찾기 원하는 문자열입니다. -- `length` - - : 옵션입니다. 찾고자 하는 문자열의 길이값이며, 기본값은 문자열 전체 길이입니다. 문자열의 길이값은 문자열 전체 길이 안에서만 존재하여야 합니다. + - : `str` 끝에서 검색할 문자. [정규 표현식이 될 수 없습니다](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp#special_handling_for_regexes). 정규식이 아닌 모든 값은 [문자열로 강제 변환]되므로 이를 생략하거나 `undefined`를 전달하면 `endsWith()`가 `"undefined"` 문자열을 검색하게 되는데, 이는 원하는 경우가 거의 없습니다. +- `endPosition` {{optional_inline}} + - : `searchString`이 발견될 것으로 예상되는 끝 위치(`searchString`의 마지막 문자의 인덱스에 1을 더한 값)입니다. 기본값은 `str.length`입니다. ### 반환 값 -문자열의 끝이 주어진 문자열로 끝나면 **`true`**, 그렇지 않다면 **`false`** +`searchString`이 빈 문자열인 경우를 포함하여 문자열 끝에 주어진 문자가 있으면 **`true`**를 반환하고, 그렇지 않으면 **`false`**를 반환합니다. + +### 예외 + +- {{jsxref("TypeError")}} + - : `searchString`가 [정규 표현식이라면](/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp#special_handling_for_regexes) 발생합니다. ## 설명 -여러분은 이 메서드를 사용하여 어떤 문자열이 특정 문자열로 끝나는지를 확인할 수 있습니다. +이 메서드를 사용하면 문자열이 다른 문자열로 끝나는지 여부를 확인할 수 있습니다. 이 메서드는 대소문자를 구분합니다. ## 예제 -### `endsWith()` 사용하기 +### endsWith() 사용하기 ```js -var str = "To be, or not to be, that is the question."; +const str = "To be, or not to be, that is the question."; console.log(str.endsWith("question.")); // true console.log(str.endsWith("to be")); // false console.log(str.endsWith("to be", 19)); // true ``` -## Polyfill - -이 메서드는 ECMAScript 6 규격에 포함되었습니다만 아직까지는 모든 JavaScrpt가 이 기능을 지원하고 있지는 않습니다. 하지만 여러분은 `String.prototype.endsWith()` 메서드를 다음과 같이 쉽게 [polyfill](https://en.wikipedia.org/wiki/Polyfill) 할 수 있습니다: - -```js -if (!String.prototype.endsWith) { - String.prototype.endsWith = function (searchString, position) { - var subjectString = this.toString(); - if ( - typeof position !== "number" || - !isFinite(position) || - Math.floor(position) !== position || - position > subjectString.length - ) { - position = subjectString.length; - } - position -= searchString.length; - var lastIndex = subjectString.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; - }; -} -``` - -## 명세 +## 명세서 {{Specifications}} @@ -71,8 +58,9 @@ if (!String.prototype.endsWith) { {{Compat}} -## 관련문서 +## 같이 보기 +- [`core-js`에서의 `String.prototype.endsWith` 폴리필](https://github.com/zloirock/core-js#ecmascript-string-and-regexp) - {{jsxref("String.prototype.startsWith()")}} - {{jsxref("String.prototype.includes()")}} - {{jsxref("String.prototype.indexOf()")}}