TypeScript 可不可以被叫做小 Java ? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
v2defy
V2EX    程序员

TypeScript 可不可以被叫做小 Java ?

  •  
  •   v2defy 2021-06-05 09:37:35 +08:00 9547 次点击
    这是一个创建于 1594 天前的主题,其中的信息可能已经有所发展或是发生改变。

    封装,继承,多态,抽象,接口,重载,简直是一个模子里刻出来的。

    59 条回复    2021-06-07 12:23:17 +08:00
    luqingliang
        1
    luqingliang  
       2021-06-05 09:39:50 +08:00
    还有注解,人称小 Java,不谈了好吧
    msaionyc
        2
    msaionyc  
       2021-06-05 09:40:24 +08:00   28
    你了解几种语言
    musi
        3
    musi  
       2021-06-05 09:42:05 +08:00 via iPhone
    最终运行的不还是 js
    dadachen1997
        4
    dadachen1997  
       2021-06-05 09:42:08 +08:00
    ? typescript 里面的类和 java 中的还是不一样吧
    kealm
        5
    kealm  
       2021-06-05 09:45:15 +08:00
    建议多了解一下 TypeScript 的 Type
    chinagxwei
        6
    chinagxwei  
       2021-06-05 09:47:48 +08:00   2
    楼主要强行关联也是关联微软系的 C#吧……
    AV1
        7
    AV1  
       2021-06-05 09:57:17 +0:00 via Android
    这些特性不是 Java 独有的。
    况且这类型后置的语法,恐怕没多少 Java 程序员认可这个小 Java 。
    across
        8
    across  
       2021-06-05 10:02:36 +08:00
    OOP 请向 C#看齐
    Vegetable
        9
    Vegetable  
       2021-06-05 10:03:39 +08:00
    java 叫做小 ts 还差不多吧
    Jirajine
        10
    Jirajine  
       2021-06-05 10:06:23 +08:00 via Android
    这些基本都是 OO 八股语言共有的概念。
    h1104350235
        11
    h1104350235  
       2021-06-05 10:08:47 +08:00
    都是 OOP 类的语言吧
    stimw
        12
    stimw  
       2021-06-05 10:09:07 +08:00 via Android   39
    眼睛,鼻子,嘴巴,耳朵,我人称小盖茨
    usVexMownCzar
        13
    usVexMownCzar  
       2021-06-05 10:13:31 +08:00   2
    @stimw 眼睛,鼻子,嘴巴,耳朵,眼镜,我人称小乔布斯
    coolzjy
        14
    coolzjy  
       2021-06-05 10:32:50 +08:00
    建议了解一下语义化类型和结构化类型
    NealCCC
        15
    NealCCC  
       2021-06-05 10:40:09 +08:00
    那我是小吴彦祖
    Leviathann
        16
    Leviathann  
       2021-06-05 10:50:35 +08:00 via iPhone
    有没有什么是 Java 能表达而 ts 不能表达的
    zxCoder
        17
    zxCoder  
       2021-06-05 10:56:27 +08:00
    @dadachen1997 怎么说
    CodeCodeStudy
        18
    CodeCodeStudy  
       2021-06-05 11:04:39 +08:00   1
    小 C# 吧,都是微软出品,都是 Anders Hejlsberg 主持开发的。
    hello2060
        19
    hello2060  
       2021-06-05 11:16:49 +08:00 via iPhone
    又称 mini C++?
    lneoi
        20
    lneoi  
       2021-06-05 11:17:38 +08:00   1
    小 C# 更像点
    pigspy
        21
    pigspy  
       2021-06-05 11:23:09 +08:00   3
    我觉得 typescript 的类型系统和表达能力比 java 强太多了
    libook
        22
    libook  
       2021-06-05 11:26:32 +08:00   1
    这种类比没有意义,绝大多数技术思想都是可以跨技术栈的,比如你说的这些用 JS 也可以实现,只不过可能写法和其他语言不同而已。

    换言之,如果你用 TS 来完完全全套 Java 的实现方案,你会发现巨 TM 难用,这不是因为 TS 不行,很可能是不应该这么用。

    记得早先有些用 Java 很多年的老哥换 TS 技术栈非要找一套跟 Spring MVC 完全一样的 TS/JS 框架来用,最终代码写得也让人怀疑人生。
    gjc9620
        23
    gjc9620  
       2021-06-05 11:32:00 +08:00
    那 c#是不是叫大 java
    treblex
        24
    treblex  
       2021-06-05 11:44:40 +08:00
    vk42
        25
    vk42  
       2021-06-05 11:51:48 +08:00
    @treblex Java 有 JSR 啊。理论上官方的 JRE 只是一个 reference implementation,当时 Sun 号称各平台可以按 JSR 实现自己的 JRE
    xyooyx
        26
    xyooyx  
       2021-06-05 12:25:47 +08:00
    你也跑在虚拟机上吗
    yeqizhang
        27
    yeqizhang  
       2021-06-05 12:55:06 +08:00 via Android
    这些都是面向对象的概念,还有些是各语言互相抄特性和语法糖
    darknoll
        28
    darknoll  
       2021-06-05 13:00:12 +08:00 via Android
    java 又号称小 C#
    Rocketer
        29
    Rocketer  
       2021-06-05 13:14:42 +08:00 via iPhone   1
    能有这样的感悟,你一定写过很少 TypeScript 吧。

    等你接触过足够多的抽象类、范型、接口之后,就知道这玩意有多不 Java 了
    /td>
    nexuszjq
        30
    nexuszjq  
       2021-06-05 13:52:35 +08:00
    C#又被称为 Microsoft Java
    nightwitch
        31
    nightwitch  
       2021-06-05 14:02:15 +08:00
    国内关于 PL 的课还是开少了
    EKkoGG
        32
    EKkoGG  
       2021-06-05 14:05:35 +08:00
    刚入行?
    GenericClass
        33
    GenericClass  
       2021-06-05 14:16:19 +08:00 via iPhone
    类型体操写的还是不够多
    mmmfj
        34
    mmmfj  
       2021-06-05 14:45:39 +08:00   1
    Java 人称小 TS
    ReferenceE
        35
    ReferenceE  
       2021-06-05 14:59:39 +08:00 via Android
    @across
    @chinagxwei
    @CodeCodeStudy
    @nexuszjq
    @darknoll typescript 是微软发明的额
    love
        36
    love  
       2021-06-05 15:33:06 +08:00
    这也能比? typescript 的类型表达能力能把 java 秒成渣
    另外 js 界不流行乱用继承多态重载这类东西
    aaniao002
        37
    aaniao002  
       2021-06-05 15:54:01 +08:00 via Android
    有见过 java 可以写得不又臭又长吗?
    xnth97
        38
    xnth97  
       2021-06-05 16:12:53 +08:00   1
    Java -> J++ -> J# -> C# -> TypeScript,没毛病(狗头
    carity
        39
    carity  
       2021-06-05 17:13:31 +08:00
    @xnth97 没毛病 狗头.jpg
    agdhole
        40
    agdhole  
       2021-06-05 18:47:55 +08:00
    C# 又叫小 JAVA,TS 又是和 C# 同源,所以 TS 应该叫小小 JAVA (
    garfeildma
        41
    garfeildma  
       2021-06-05 18:48:16 +08:00
    光从语法层面上说 Java 是小 typescript 差不多
    namelosw
        42
    namelosw  
       2021-06-05 18:55:44 +08:00
    还小 Java…… 不知道比 Java 高到哪去了好不

    敢不敢用 Java 实现一个这个试试? https://github.com/codemix/ts-sql
    paoqi2048
        43
    paoqi2048  
       2021-06-05 19:42:39 +08:00
    不如叫小 TheShy
    sutra
        44
    sutra  
       2021-06-05 20:10:07 +08:00
    hotsymbol
        45
    hotsymbol  
       2021-06-05 21:21:49 +08:00
    那 Java 是不是应该叫 Typescript 之父?,你让 Python 之父阮一峰怎么办
    initd
        46
    initd  
       2021-06-05 21:24:11 +08:00
    运行时都是 js,ts 只存在编码阶段
    OxOzZ
        47
    OxOzZ  
       2021-06-05 22:19:35 +08:00
    要叫也得是叫大 JAVA
    lonr
        48
    lonr  
       2021-06-05 22:39:45 +08:00 via Android
    叫脚本版 Java
    Rocketer
        49
    Rocketer  
       2021-06-06 00:33:14 +08:00 via iPhone
    @initd 这就是我为什么说它非常不 Java,因为脑子里时刻得想着它编译后是什么样子,否则运行的时候就可能与预期不一致,或是被 TS 的假报错吓到,以为不能这么用
    datou
        50
    datou  
       2021-06-06 01:58:36 +08:00
    @hotsymbol 廖雪峰:朕的江山易主了?
    pecopeco
        51
    pecopeco  
       2021-06-06 02:05:54 +08:00 via Android
    想得太多,书读得太少
    medivh
        52
    medivh  
       2021-06-06 03:23:12 +08:00
    上海,人称东方小孟买
    muzuiget
        53
    muzuiget  
       2021-06-06 06:47:41 +08:00
    TypeScript 只是加了 Type Hint,Hint 只是个提示,对运行时没影响。
    tesorouo
        54
    tesorouo  
       2021-06-06 08:51:25 +08:00
    @chiaf 眼睛,鼻子,嘴巴,耳朵,R U OK,我人称小雷军
    fpure
        55
    fpure  
       2021-06-06 11:11:35 +08:00
    typescript 的类型系统比 Java 要高多了
    zzzzzzggggggg
        56
    zzzzzzggggggg  
       2021-06-06 11:59:14 +08:00
    hyperbin
        57
    hyperbin  
       2021-06-06 17:10:44 +08:00 via Android
    卡巴斯基是小巴基斯坦?
    Pythoner666666
        58
    Pythoner666666  
       2021-06-07 10:54:01 +08:00
    @libook 我觉得你是在黑 nest [狗头]
    a1gslyghmqnl
        59
    a1gslyghmqnl  
       2021-06-07 12:23:17 +08:00
    @hotsymbol 这个我还是不得不纠正一下,你把他们两个搞混了,python 之父应该是廖雪峰
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     905 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 19:58 PVG 03:58 LAX 12:58 JFK 15:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86