typescript 如何给Class中所有参数加上可选?

class A = {
  a: numebr = 0;
  b: string = 'aa';
}

class B extends A{
  c:string = "2312"
}

B继承A的时候是否可以将A中的参数快捷设置为可选?

使用type中的Partial<Type>方法不适用于Class

阅读 642
2 个回答
✓ 已被采纳
class A {
    a: number = 0;
    b: string = 'aa';
}

interface AProps {
    a?: number;
    b?: string;
}

class B extends A {
    c: string = "2312";

    constructor(props?: AProps) {
        super();
        if (props) {
            if (props.a !== undefined) this.a = props.a;
            if (props.b !== undefined) this.b = props.b;
        }
    }
}

const obj = new B({ a: 5 });
console.log(obj.a);  // 5
console.log(obj.b);  // 'aa'
console.log(obj.c);  // '2312'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏