Typescript类属性setter方法和Partial问题

type Options = {
    param1: number;
    param2: number;
}

class MyClass {
    private _options: Options;
    
    get options(): Options {
        return this._options;
      }

    set options(newOptions: Partial<Options>) {
        this._options = {
            param1: newOptions?.param1 || 0,
            param2: newOptions?.param2 || 0,
        }
    }

    constructor(newOptions?: Partial<Options>) {
        // 此处会报错,不能将Partial<Options>赋值给Options
        this._options = newOptions || {};
    }
}

以上代码是错误的,请问这个代码该如何修改实现这个逻辑

阅读 1.2k
1 个回答

不是很懂你要什么效果,但是报错是必然的。
首先你设置 _options类型为Options,而初始值你却传Partial<Options> || {}
这两个显然都不符合Options的数据类型。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题