您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    Angular为什么选择TypeScript?(2)
    时间:2017-08-31 12:33 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    键入的签名一定比无类型的签名更长,但是:string,JQueryAjaxSettings和JQueryXHR并不混乱。它们是提高代码可了解性的重要文档。我们可以在更大水平上了解代码,而无需深化实施或阅读文档。我团体的阅历是,我可以更快地读取类型化代码,由于类型提供了更多的上下文来了解代码。但假设任何读者可以找到关于类型如何影响代码可读性的研讨,请宣布评论。

    与其他编译为JavaScript的言语相比,TypeScript的类型是可选的,jQuery.ajax(url, settings)依然是有效的typescript。所以并不是非开即关,TypeScript更多的是增强。假设发现代码在读取和了解时没有类型注释是微乎其微的,请不要运用它们。只要在添加价值的状况下运用他们。

    TypeScript能否限制表达?

    静态类型的言语具有较差的工具,但它们更有韧性和表现力。我以为运用TypeScript会使得你的代码死板,但远比想象的水平要低。让我通知你我的意思。假定我运用ImmutableJS定义团体记载。

    const PersonRecord = Record({name:null, age:null});  

     

    function createPerson(name, age) {  

      return new PersonRecord({name, age});  

    }  

     

    const p = createPerson("Jim", 44);  

     

    expect(p.name).toEqual("Jim"); 

    我们如何确定记载的类型?让我们来定义一个Person接口。

    interface Person { name: string, age: number }; 

    假设我们尝试执行以下操作:

    function createPerson(name: string, age: number): Person {  

      return new PersonRecord({name, age});  

    TypeScript编译器就会正告,由于编译器不知道PersonRecord和Person类型兼容。一些有函数式编程阅历的人会说:“TypeScript只要依赖类型!”。但是不是这样的。TypeScript的类型系统不是最先进的。但它的目的是不同的。这不是证明顺序是100%正确的。它更多的是提供应你更多的提示信息和启用更弱小的工具。所以当类型系统不够灵敏时,可以采取快捷方式。所以我们可以转换创立的记载,经过下面这样:

    function createPerson(name: string, age: number): Person {  

      return <any>new PersonRecord({name, age});  

    类型实例:

    interface Person { name: string, age: number };  

     

    const PersonRecord = Record({name:null, age:null});  

     

    function createPerson(name: string, age: number): Person {  

      return <any>new PersonRecord({name, age});  

    }  

     

    const p = createPerson("Jim", 44);  

     

    expect(p.name).toEqual("Jim"); 

    这段代码可以正常运转是由于类型系统是结构化的。只需创立的对象具有正确的属性-name和age,就能正常运转。

    你需求以拥抱的心态去运用TypeScript的快捷方式。只要这样,你会发现运用这种言语十分的愉快。例如,不要尝试添加类型到一些时兴的元编程代码 - 很能够你将无法静态地表达。遇到这种状况,可以配置类型反省疏忽他们。这种状况下,你的代码不会失掉太多的表达力,同时又具有工具化和可剖析的特性。

    这相似于试图取得100%的单元测试代码掩盖率。而95%通常不是那么困难,100%能够是具有应战性的,能够会对您的运用顺序的体系结构产生负面影响。

    (责任编辑:admin)