Temporal.PlainTime.prototype.valueOf()

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Phương thức valueOf() của các thực thể Temporal.PlainTime ném ra một TypeError, ngăn các thực thể Temporal.PlainTime bị chuyển đổi ngầm thành kiểu nguyên thủy khi được sử dụng trong các phép toán số học hoặc so sánh.

Cú pháp

js
valueOf()

Tham số

Không có.

Giá trị trả về

Không có.

Ngoại lệ

TypeError

Luôn ném ra.

Mô tả

Vì cả chuyển đổi nguyên thủychuyển đổi số đều gọi valueOf() trước toString(), nếu valueOf() vắng mặt, một biểu thức như time1 > time2 sẽ so sánh ngầm chúng dưới dạng chuỗi, có thể dẫn đến kết quả không mong đợi. Bằng cách ném ra TypeError, các thực thể Temporal.PlainTime ngăn chặn các chuyển đổi ngầm như vậy. Bạn cần chuyển đổi chúng thành chuỗi một cách tường minh bằng Temporal.PlainTime.prototype.toString(), hoặc dùng phương thức tĩnh Temporal.PlainTime.compare() để so sánh chúng.

Ví dụ

Phép toán số học và so sánh trên Temporal.PlainTime

Tất cả các phép toán số học và so sánh trên các thực thể Temporal.PlainTime phải sử dụng các phương thức chuyên dụng hoặc chuyển đổi chúng thành kiểu nguyên thủy một cách tường minh.

js
const time1 = Temporal.PlainTime.from("00:00:00");
const time2 = Temporal.PlainTime.from("12:00:00");
time1 > time2; // TypeError: can't convert PlainTime to primitive type
Temporal.PlainTime.compare(time1, time2); // -1

time2 - time1; // TypeError: can't convert PlainTime to primitive type
time2.since(time1).toString(); // "PT12H"

Đặc tả

Thông số kỹ thuật
Temporal
# sec-temporal.plaintime.prototype.valueof

Tương thích trình duyệt

Xem thêm