V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
micean
V2EX  ›  程序员

作为 Javaer, Typescript 这个特性太舒服了

  •  
  •   micean · 115 天前 · 2028 次点击
    这是一个创建于 115 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可以直接在函数上声明入参和返回值的类型

    function foo(bar: { id: number, name?: string }): { xx: string, oo: string }[]
    

    去他大爷的什么 PO 、VO 、DTO 、XXOO ,还完美解决了起名这个世界难题

    CodeCodeStudy
        1
    CodeCodeStudy  
       115 天前
    不一样,Java 是要先定义一个类才能使用该类的实例化对象,而 TypeScript 是 JavaScript 的超集,js 的类就是一个 {} 包起来的东东
    makelove
        2
    makelove  
       115 天前
    这和 xxO 什么关系吗?
    另外建议这种复杂类型直接独立出来写成 xxO,也好在别的地方用
    micean
        3
    micean  
    OP
       115 天前
    @makelove

    复用很容易产生 NPE 的问题,因为不一定每个使用者都有完全相同的需求
    如果像 kotlin 那样定义好非空,遇上同一个属性有非空、可空的不同需求,又要创建多个类,太麻烦了
    bnm965321
        4
    bnm965321  
       115 天前
    因为是结构化类型,所以可以使用匿名的 interface 。

    rescript / ocaml 的类型更牛皮,可以根据你对参数的时候来推导类型。写 rescript 之后很少主动标注类型。
    IvanLi127
        5
    IvanLi127  
       115 天前 via Android
    要我写还是会在独立的文件里定义好了再拿出来用。你这样不太方便比较大范围的重构。
    qinxi
        6
    qinxi  
       115 天前
    带 key 自动提示的 增强型 map 😂
    Leviathann
        7
    Leviathann  
       115 天前 via iPhone
    我一般还是会用 type 写一下
    除非就两个字段
    micean
        8
    micean  
    OP
       115 天前
    @IvanLi127

    大范围重构确实是很麻烦,但是也比较少吧,那时候要改的也不仅仅是一个参数了


    @Leviathann

    我主要在接口上这么写,连接口文档都懒得写了,直接写在前端的参数上
    monkeyWie
        9
    monkeyWie  
       115 天前
    确实挺爽的,希望 jdk 跟进下啊,搞个语法糖就行了
    4196
        10
    4196  
       114 天前
    TS 的类型系统可是业界领头的🤭
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1333 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:35 · PVG 02:35 · LAX 11:35 · JFK 14:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.