Temporal.PlainTime.prototype.with()

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

with() 方法用於 Temporal.PlainTime 例項,它會返回一個新的 Temporal.PlainTime 物件,該物件表示當前時間,但其中一些欄位已被新值替換。由於所有 Temporal 物件都設計為不可變的,因此此方法實際上充當了時間欄位的設定器。

語法

js
with(info)
with(info, options)

引數

info

包含至少一個由 Temporal.PlainTime.from() 識別的屬性的物件:hourmicrosecondmillisecondminutenanosecondsecond。未指定的屬性將使用原始時間的值。

options 可選

包含以下屬性的物件

overflow 可選

一個指定當時間元件超出範圍時的行為的字串。可能的值包括:

"constrain"(預設)

時間元件將被裁剪到有效範圍。

"reject"

如果時間元件超出範圍,將丟擲 RangeError

返回值

一個新的 Temporal.PlainTime 物件,其中 info 中指定的、非 undefined 的欄位將被相應的值替換,其餘欄位將從原始時間複製。

異常

TypeError

在以下情況之一中丟擲

  • info 不是一個包含至少一個已識別屬性的物件,也不是一個字串。
  • options 不是物件或 undefined
RangeError

如果提供的數值屬性超出範圍,並且 options.overflow 被設定為 "reject",則會丟擲此錯誤。

示例

使用 with()

js
const time = Temporal.PlainTime.from("12:34:56.123456789");
const newTime = time.with({ hour: 23 });
console.log(newTime.toString()); // '23:34:56.123456789'

有關更多示例,請參閱可以使用 with() 設定的各個屬性的文件。

規範

規範
Temporal
# sec-temporal.plaintime.prototype.with

瀏覽器相容性

另見