gpt4 book ai didi

Javascript:覆盖日期 - 如何获取传递给构造函数的值

转载 作者:行者123 更新时间:2023-12-02 23:54:34 24 4
gpt4 key购买 nike

我正在学习,也想扩展 Date 对象,我喜欢的事情之一是能够访问在我的原型(prototype)构造函数中传递的值。目标是根据我将在“拦截”该值后立即建立的某些标准来更改该值。

在此示例中,我希望能够访问在 new Date() 期间传递的值“2019-03-31”。

我知道有 Moment JS,也许它可以满足我的需要......但我的目标是研究“原型(prototype)”的 future 使用。

Date.prototype.myTest = function myTest() {

let datetime = this;

return 'ok';

};
let dt = new Date("2019-03-31").myTest();

最佳答案

如果你想扩展Date对象,一个非常简单的方法就是使用带有extend的ES6类。与尝试修改内置日期构造函数相比,这更容易,而且可能是一个更好的主意。在构造函数中,您可以做任何您喜欢的事情,包括保存原始输入以供以后或立即使用:

class myDate extends Date{
constructor(d){
super(d)
this.originalInput = d // save input
}
myTest() {
console.log("original input:", this.originalInput);
return 'ok';
};
}

let dt = new myDate("2019-03-31")
// log the original input:
dt.myTest();

// you can still use `Date` methods:
console.log(dt.toDateString())


let badDate = new myDate("what should I do with bad input")
badDate.myTest();
console.log("Date string:", badDate.toDateString())

关于Javascript:覆盖日期 - 如何获取传递给构造函数的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55460011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com