Skip to content

Commit

Permalink
Merge branch 'main' into todateurl
Browse files Browse the repository at this point in the history
  • Loading branch information
yin1999 authored Dec 13, 2024
2 parents b8eff4a + 1b022f8 commit 74d0e2f
Show file tree
Hide file tree
Showing 1,566 changed files with 4,951 additions and 4,520 deletions.
8 changes: 4 additions & 4 deletions files/ja/learn/css/first_steps/how_css_is_structured/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -289,11 +289,11 @@ CSS のプロパティと値は大文字と小文字を区別しません。そ

例として、CSS 内で単純な計算を行うことができる `calc()` 関数が挙げられます。

```html
```html live-sample___the_calc_function
<div class="outer"><div class="box">The inner box is 90% - 30px.</div></div>
```

```css
```css live-sample___the_calc_function
.outer {
border: 5px solid black;
}
Expand All @@ -316,11 +316,11 @@ CSS のプロパティと値は大文字と小文字を区別しません。そ

他の例としては、 {{cssxref("transform")}} のさまざまな値、たとえば `rotate()` などがあります。

```html
```html live-sample___transform_functions
<div class="box"></div>
```

```css
```css live-sample___transform_functions
.box {
margin: 30px;
width: 100px;
Expand Down
2 changes: 1 addition & 1 deletion files/ja/web/api/customelementregistry/define/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ customElements.define(name, constructor, options);

- : 要素の定義の仕方を制御するオブジェクト。現在は、次の 1 つのオプションのみに対応しています。

- `extends`: 拡張する組み込み要素の名前を示す文字列。*カスタム組み込み要素*を作成するのに使われる。
- `extends`: 拡張する組み込み要素の名前を示す文字列。*カスタム組み込み要素*を作成するのに使われる。

### 返値

Expand Down
2 changes: 1 addition & 1 deletion files/ja/web/html/element/dialog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ l10n:

**`<dialog>`**[HTML](/ja/docs/Web/HTML) の要素で、モーダルまたは非モーダルダイアログボックスや、それ以外の消すことができるアラート、インスペクター、サブウィンドウなどのような対話的コンポーネントを表します。

HTML の `<dialog>` 要素は、モーダルダイアログボックスと非モーダルダイアログボックスのどちらを作成する時にも使用します。 モーダルダイアログボックスは、ページの他の部分との操作を中断し、非モーダルダイアログボックスは、ページの他の部分との走査を許可します
HTML の `<dialog>` 要素は、モーダルダイアログボックスと非モーダルダイアログボックスのどちらを作成する時にも使用します。 モーダルダイアログボックスは、ページの他の部分との操作を中断し、非モーダルダイアログボックスは、ページの他の部分との操作を許可します

`<dialog>` 要素を表示するには、JavaScript を使用して下さい。モーダルダイアログを表示するには {{domxref("HTMLDialogElement.showModal()", ".showModal()")}} メソッドを、非モーダルダイアログを表示するには {{domxref("HTMLDialogElement.show()", ".show()")}} メソッドを使用して下さい。ダイアログボックスは {{domxref("HTMLDialogElement.close()", ".close()")}} メソッドを使用するか、または `<dialog>` 要素内に含まれる `<form>` フォームを送信する際に [`dialog`](/ja/docs/Web/HTML/Element/form#method) メソッドを使用して閉じることができます。モーダルダイアログは、<kbd>Esc</kbd> キーを押すことでも閉じることができます。

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
---
title: Iterator.prototype.drop()
slug: Web/JavaScript/Reference/Global_Objects/Iterator/drop
l10n:
sourceCommit: 7df171ff1d6da6a5e3911b7aedd56f6312bf0cca
---

{{JSRef}}

**`drop()`** は {{jsxref("Iterator")}} インスタンスのメソッドで、新しい[イテレーターヘルパーオブジェクト](/ja/docs/Web/JavaScript/Reference/Global_Objects/Iterator#イテレーターヘルパーオブジェクト)を返します。これは、このイテレーターの開始位置から指定した数の要素を読み飛ばします。

## 構文

```js-nolint
drop(limit)
```

### 引数

- `limit`
- : 反復処理の先頭から削除する要素の数です。

### 返値

新しい[イテレーターヘルパーオブジェクト](/ja/docs/Web/JavaScript/Reference/Global_Objects/Iterator#イテレーターヘルパーオブジェクト)です。 返されたイテレーターヘルパーの `next()` メソッドが最初に呼び出されると、現在のイテレーターは `limit` 要素分だけ即座に進められ、次の要素(`limit+1` 番目の要素)が返されます。その後、イテレーターヘルパーは残りの要素を順に返します。現在のイテレーターが `limit` 未満の数の要素しか保有していない場合、新しいイテレーターヘルパーは、 `next()` が最初に呼び出された時点で即座に処理が完了します。

### 例外

- {{jsxref("RangeError")}}
- : `limit`[整数に変換](/ja/docs/Web/JavaScript/Reference/Global_Objects/Number#整数変換)する際に、 {{jsxref("NaN")}} または負の数になった場合に発生します。

##

### drop() の使用

次の例では、フィボナッチ数列の項を反復処理するイテレーターを作成します。最初の 2 項を省略し、 3 番目の項から開始します。

```js
function* fibonacci() {
let current = 1;
let next = 1;
while (true) {
yield current;
[current, next] = [next, current + next];
}
}

const seq = fibonacci().drop(2);
console.log(seq.next().value); // 2
console.log(seq.next().value); // 3
```

これは次のものと同等です。

```js
const seq = fibonacci();
seq.next();
seq.next();
```

### drop() を for...of ループで使用

`drop()` は、イテレーターを手作業で作成しない場合に最も便利です。イテレーターも反復可能オブジェクトであるため、返されたヘルパーを {{jsxref("Statements/for...of", "for...of")}} ループで反復処理することができます。

```js
for (const n of fibonacci().drop(2)) {
console.log(n);
if (n > 30) {
break;
}
}

// Logs:
// 2
// 3
// 5
// 8
// 13
// 21
// 34
```

### drop() と take() の組み合わせ

`drop()` と {{jsxref("Iterator.prototype.take()")}} を組み合わせることで、イテレーターの一部を取得することができます。

```js
for (const n of fibonacci().drop(2).take(5)) {
// 最初の 2 つの要素を削除し、次の 5 つを抽出する
console.log(n);
}
// Logs:
// 2
// 3
// 5
// 8
// 13

for (const n of fibonacci().take(5).drop(2)) {
// 最初の 5 つの要素を抽出し、次の 2 つを削除する
console.log(n);
}
// Logs:
// 2
// 3
// 5
```

### 削除数の下限と上限

`limit` が負の数か {{jsxref("NaN")}} であった場合、 {{jsxref("RangeError")}} が発生します。

```js
fibonacci().drop(-1); // RangeError: -1 must be positive
fibonacci().drop(undefined); // RangeError: undefined must be positive
```

`limit` が反復処理で生成可能な要素の総数よりも大きい場合({{jsxref("Infinity")}} など)、返された反復処理ヘルパーは、 `next()` が最初に呼び出されたときに、すべての要素を即座に破棄して完了します。現在の反復処理が無限である場合、返された反復処理ヘルパーは、決して完了しません。

```js
fibonacci().drop(Infinity).next(); // 終了しない
new Set([1, 2, 3]).values().drop(Infinity).next(); // { value: undefined, done: true }
new Set([1, 2, 3]).values().drop(4).next(); // { value: undefined, done: true }
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [`Iterator.prototype.drop` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#iterator-helpers)
- {{jsxref("Iterator")}}
- {{jsxref("Iterator.prototype.take()")}}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ repeat(count)
"abc".repeat(0); // ''
"abc".repeat(1); // 'abc'
"abc".repeat(2); // 'abcabc'
"abc".repeat(3.5); // 'abcabcabc' (小数は丸められ、整数の結果が返されます
"abc".repeat(3.5); // 'abcabcabc' (小数点以下は切り捨てられます
"abc".repeat(1 / 0); // RangeError

({ toString: () => "abc", repeat: String.prototype.repeat }).repeat(2);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,65 +1,57 @@
---
title: Number.isSafeInteger()
slug: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger
l10n:
sourceCommit: 70f09675ddcfc75a3bb66d2dce4cf82738948a37
---

{{JSRef}}

Метод **`Number.isSafeInteger()`** определяет, является ли переданное значение _безопасным целым числом_.
Статический метод **`Number.isSafeInteger()`** определяет, является ли переданное значение _безопасным целым числом_.

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

Безопасное целое число это такое число, которое:

- может быть точно представлено числом IEEE-754 двойной точности и
- чьё представление IEEE-754 не может быть результатом округления любого другого целого числа, соответствующего представлению IEEE-754.

Например, число `253 - 1` является безопасным целым числом: оно может быть представлено точно и никакое другое целое число не округляется к нему ни в каком режиме округления IEEE-754. В противовес ему, число `253` _не является_ безопасным целым числом: оно может быть точно представлено в IEEE-754, но целое число `253 + 1` не может быть напрямую представлено в IEEE-754 и округляется к числу `253` в режимах округления к ближайшему и к нулю. Безопасные целые числа состоят из всех целых чисел в диапазоне от `-(253 - 1)` до `253 - 1` включительно (± `9007199254740991` или ± 9,007,199,254,740,991).

Обработка значений, больших или меньших чем \~9 квадриллионов, с высокой точностью требует использования [библиотеки, умеющей работать с длиной арифметикой](https://ru.wikipedia.org/wiki/%D0%94%D0%BB%D0%B8%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B0%D1%80%D0%B8%D1%84%D0%BC%D0%B5%D1%82%D0%B8%D0%BA%D0%B0). Ознакомьтесь с [Что Каждому Программисту Необходимо Знать об Арифметике с Вещественными числами](http://floating-point-gui.de/) для получения дополнительной информации о представлении чисел, с плавающей запятой.

Для больших целочисленных значений, рассмотрите возможность использования типа {{jsxref("BigInt")}}.

## Синтаксис

```
```js-nolint
Number.isSafeInteger(testValue)
```

### Параметры

- `testValue`
- : Значение, проверяемое на целочисленную «безопасность».
- : Проверяемое значение.

### Возвращаемое значение

{{jsxref("Boolean")}} значение, сообщающее о том, является ли переданное значение безопасным целочисленным числом или же нет.
Логическое значение `true` если переданное значение является безопасным целым числом, в противном случае `false`.

## Описание

К безопасным целым числам относятся все целые числа от -(2<sup>53</sup> – 1) до 2<sup>53</sup> – 1 включительно (±9 007 199 254 740 991). Безопасное целое число — это целое число, которое:

- может быть точно представлено как число двойной точности по стандарту IEEE-754, и
- это представление не может быть результатом округления любого другого целого числа для соответствия представлению по стандарту IEEE-754.

Например, 2<sup>53</sup> - 1 является безопасным целым числом: оно может быть точно представлено, и никакое другое целое число не округляется до него ни при каком режиме округления IEEE-754. А вот 2<sup>53</sup> _не_ является безопасным целым числом: оно может быть точно представлено в IEEE-754, но целое число 2<sup>53</sup> + 1 не может быть представлено в IEEE-754, а вместо этого округляется до 2<sup>53</sup> при округлении до ближайшего и до нуля.

Обработка значений больше или меньше \~9 квадриллионов с полной точностью требует использования библиотек, поддерживающих [арифметику произвольной точности](https://ru.wikipedia.org/wiki/Длинная_арифметика). Дополнительную информацию о представлениях чисел с плавающей точкой смотрите в [The Floating-Point Guide](https://floating-point-gui.de/) (англ.).

Для бо́льших целых чисел рассмотрите возможность использования типа {{jsxref("BigInt")}}.

## Примеры

```js
Number.isSafeInteger(3); // true
Number.isSafeInteger(Math.pow(2, 53)); // false
Number.isSafeInteger(Math.pow(2, 53) - 1); // true
Number.isSafeInteger(2 ** 53); // false
Number.isSafeInteger(2 ** 53 - 1); // true
Number.isSafeInteger(NaN); // false
Number.isSafeInteger(Infinity); // false
Number.isSafeInteger("3"); // false
Number.isSafeInteger(3.1); // false
Number.isSafeInteger(3.0); // true
```

## Полифил

```js
Number.isSafeInteger =
Number.isSafeInteger ||
function (value) {
return (
Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER
);
};
```

## Спецификации

{{Specifications}}
Expand All @@ -70,7 +62,8 @@ Number.isSafeInteger =

## Смотрите также

- Объект {{jsxref("Number")}}, которому принадлежит этот метод.
- [Полифил `Number.isSafeInteger` в `core-js`](https://github.com/zloirock/core-js#ecmascript-number)
- {{jsxref("Number")}}
- {{jsxref("Number.MIN_SAFE_INTEGER")}}
- {{jsxref("Number.MAX_SAFE_INTEGER")}}
- {{jsxref("BigInt")}}
Loading

0 comments on commit 74d0e2f

Please sign in to comment.