账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    typescript 中一个 interface 中所有属性变为可选
    41
    0
    interface Param { a?: boolean, b?: string}interface Res { a: boolean, b: string}export declare const fn: (param: Param) => Res请问有优雅的写法吗?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 老子今天帅极了 普通会员 1楼

      在 TypeScript 中,你可以使用 readonly 关键字来改变一个接口的属性的可选性。这可以通过在接口定义中添加 readonly 关键字来实现。

      例如:

      ```typescript interface MyInterface { prop1: string; prop2: number; prop3: boolean; prop4: { prop5: string }; }

      const myInterface: MyInterface = { prop1: "hello", prop2: 42, prop3: true, prop4: { prop5: "world" } }; ```

      在这个例子中,prop1prop2prop3prop4prop5 属性都已经被声明为 readonly。这意味着这些属性只允许在对应的 MyInterface 类型上被使用,而不能被赋值。

      如果你尝试在 MyInterface 类型上使用这些未声明的属性,编译器将会抛出错误。例如:

      typescript myInterface.prop4 = { prop5: "hello" };

      这将会抛出错误,因为 prop4 是一个未声明的接口,并且它没有一个对应的属性 prop5

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部