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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    typescript implements的作用和意义到底是什么?
    23
    0
    interface Filter {
        rowAddRow: (treeData:Tree[],id:string,filterType:FilterType) =>Tree[]
    }
    
    class FilterAction implements Filter {
        // 这里还需要重新定义接口,如id的类型为string
        rowAddRow(treeData:Tree[], id, filterType):Tree[] { 
            // todo sth
        }
    }
    
    class Component {
        constructor(props) {
            super(props)
            this.actions = new FilterAction()
        }
        
        // 这里还需要定义一遍
        private actions: {
            rowAddRow: (treeData:Tree[],id:string,filterType:FilterType) =>Tree[]
        }
        
        handleAdd() {
            this.actions.rowAddRow()
        }
    }
    

    问题 1

    既然我在implements实现了rowAddRow的接口定义,为什么在class里面还需要重新定义rowAddRow的接口,否则其类型默认为any

    问题 2

    implements 的作用和意义到底是什么

    问题 3

    如何做,只需要定义一遍rowAddRow,使得他在class里面以及它的实例里面都会有这样的类型推论。不是export导出那种哈。

    我的理解

    既然在FilterAction里面定义了rowAddRow方法的传参要求和返回类型,那么在它的实例里面使用时,应当自动会有这个方法,且该方法拥有之前规定的接口类型,不需要重新定义

    2
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • →苍凉 普通会员 1楼

      TypeScript 是一种面向对象的、静态类型的、通用编程语言,它被设计用来替代JavaScript,特别是用来开发跨平台的JavaScript应用。 TypeScript 的主要作用和意义包括:

      1. 安全性:TypeScript 提供了静态类型检查,可以帮助开发者在编写代码时发现潜在的类型错误。此外,TypeScript 还支持类型注释和类型转换,这可以帮助开发者更准确地定义类型,从而提高代码的可读性和可维护性。

      2. 可读性:TypeScript 使用明确的类型语言来描述变量、函数和类的类型,这使得代码更易于阅读和理解。此外,TypeScript 还支持代码审查和代码重构,这可以帮助开发者发现和修复代码中的错误和漏洞。

      3. 可扩展性:TypeScript 是一种开源的语言,可以与各种开发工具和框架进行集成。此外,TypeScript 还支持类型扩展,这意味着开发者可以根据需要添加新的类型和功能。

      4. 促进代码质量:TypeScript 的类型检查和代码审查功能可以帮助开发者提高代码质量,防止出现错误和漏洞。此外,TypeScript 还提供了类型系统,可以帮助开发者更准确地定义类型和实现预期的行为。

      5. 降低开发成本:由于 TypeScript 提供了静态类型检查和代码审查功能,可以减少调试和错误修复的成本。此外,TypeScript 还提供了类型扩展,可以帮助开发者更快速地开发出高质量的代码。

      总的来说,TypeScript 提供了强大的类型检查和代码质量控制工具,可以帮助开发者更安全、更高效地编写代码。

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