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

浏览器兼容性

另见