gpt4 book ai didi

javascript - 在 setter 中使用带有类型保护的 getter 和 setter

转载 作者:行者123 更新时间:2023-12-03 01:36:04 27 4
gpt4 key购买 nike

我想在我的类中添加一个 getter 和 setter。然而,setter 应该接收一个 querySelector,但 getter 返回一个新类型 pageSections

我的问题是 getter 和 setter 必须具有相同的参数/返回值,但我想将类型保护放在 setter 中。 pageSections 在类型定义文件中定义并且工作正常。

// in the code …
this.parent(this.closest('page-sections'))

// in the class
PageSection {
private _parent: pageSections = undefined

/**
* @method setter parent
* @description set the parent property
*/
set parent (parent: pageSections) {
if (this._parent === parent) return
if (typeof parent.current === undefined) return // this validates it being a pageSections for now
this._parent = parent
}

/**
* @method getter parent
* @description get the parent property
*/
get parent (): pageSections {
return this._parent
}
}

我错过了什么?这应该如何完成?

最佳答案

你不能这样做,为什么可以这样做?

你可以:

  • 创建另一个方法 (setParent(q:querySelector))
  • 创建一个转换器,详细说明 querySelector 并返回要使用“setparent”设置的 pageSections

您可以在这里找到issue关于它(从 2015 年开始仍在讨论)。

关于javascript - 在 setter 中使用带有类型保护的 getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51065681/

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