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

你们是怎么学习 typescript 的?

  •  
  •   Kinnikuman · 21 天前 · 4740 次点击

    一直写 javascript ,能看懂 ts ,但自己不会写。虽然现在大部分代码都是 AI 来写,但是自己如果不会的话,总感觉它写的不规范。尤其是 AI 钻牛角尖出不来时候,可能有经验的开发者一看就让它换个方式就能解决。但是你如果不掌握这项技术,就比较耽误时间。

    我主要是想学习下怎么才能规范的写好 ts ,有没有优秀的小项目来做参考?

    44 条回复    2025-12-09 13:19:45 +08:00
    hervey0424
        1
    hervey0424  
       21 天前   ❤️ 1
    当年需要写的时候你就知道怎么写了, 强行去学习几天之后也就忘了
    liaohongxing
        2
    liaohongxing  
       21 天前   ❤️ 2
    你要是有强类型语言的经验就好搞了,比如 java 和 golang, 当强类型来写就行了
    Absofknglutely
        3
    Absofknglutely  
       21 天前
    实操最快, 记忆最深, 个人感觉看项目更看不懂
    momo2789
        4
    momo2789  
       21 天前
    用 TS 配置好 lint ,加上 @typescript-eslint/recommended ,把现在 js 的项目重写一遍就行了。
    dif
        5
    dif  
       21 天前
    后端开发,有段时间兼职了前端。反正就先学语法,然后跟着项目实战。当然,不写前端以后又忘了。
    94
        6
    94  
       21 天前
    同#1 ,你需要写 TS 的时候,开着 lint 自然就会写了。在你没有使用场景的情况下,学了也没有用,很快就会遗忘。

    如果后面遇到一些需要类型体操的时候就说明你用复杂了,非基建的业务逻辑里面基本上不会出现类型体操。
    maichael
        7
    maichael  
       21 天前
    没太必要看别人项目,遇到语法体操太浪费时间了,自己写就好了,重写以前的代码也行,写个新的也行,多写就熟了。
    pakholeung372
        8
    pakholeung372  
       21 天前
    优秀的 typescript repo 太多了,如果要看源码的话 tanstack 系列是个好开始,zustand 小而美,几乎所有项目都需要用
    crocoBaby
        9
    crocoBaby  
       21 天前
    千万不要掉入类型陷阱!不要为了类型而写类型
    PC9528
        10
    PC9528  
       21 天前
    除非你要写很复杂的类型体操,否则应该不用特意学?
    wakarimasen
        11
    wakarimasen  
       21 天前 via Android   ❤️ 3
    ts 库开发和业务开发是天差地别。

    做业务开发只要用 AI 生成后端数据的 interface 填进去,享受编辑器提示就完事。

    库开发就得绕进类型体操里面,像 svelte.js 作者好像就受不了了,选择 js 开发然后提供 d.ts
    JingXiao
        12
    JingXiao  
       21 天前
    不必为了学而学吧,用的时候有意识写就行了,不行嫌烦的时候就 any ,反正都能跑
    Ketteiron
        13
    Ketteiron  
       21 天前
    typescript 没有规范一说,因为随便一个特定场景都有十几种等价写法。
    如果对 typescript 有兴趣,可以尝试下挑战一下
    https://github.com/type-challenges/type-challenges
    但这样的项目无法真正"教会"如何写 typescript 。
    kakki
        14
    kakki  
       21 天前
    没有特别的转换过程,因为一开始学的就是静态语言,类型是自然而然就会去考虑的东西.
    怎么写好当然是每写一段让 AI 帮你看一下抛砖引玉.
    catch
        15
    catch  
       21 天前
    因为大学学过 java 和 c#,所以 ts 直接上手
    buxizhou123
        16
    buxizhou123  
       21 天前
    跟着 AI 来学最快,做一个应用,不断地精进
    SayHelloHi
        17
    SayHelloHi  
       21 天前
    TS 类型编程 长时间不写就忘记

    现在有啥关于类型的警告 直接问 AI
    gahanglin750
        18
    gahanglin750  
       21 天前
    之前看了神光的小册还可以,不过看完就忘了,因为平时没有运用的很深入,业务写复杂的类型体操很费时间吧
    Torpedo
        19
    Torpedo  
       21 天前
    1. 学习的时候,尽量不要写 any
    2. 学会泛型
    3. 尝试给一些动态的接口实现智能提示
    4. 稍微刷一下 https://github.com/type-challenges/type-challenges
    Wxh16144
        20
    Wxh16144  
       21 天前
    TS 类型业务代码常用的应该就 interface 以及交叉/联合类型,偶尔用用内置的几方法 Pick Omit , 然后就会发现这些方法不够用了,自然而然就上去了。

    真要看优秀小项目,那就推荐 zustand 和 redux 这几个 library 的 TS 方案 (可以构建后看 JS 版本和 TS 版本的差距)

    保证你一看一个不吱声,特别是 redux 那几个周边库
    paynezhuang
        21
    paynezhuang  
       21 天前
    没有系统性学过,实操中成长。

    看 ts 项目,不懂就 AI 指导下
    poly1911
        22
    poly1911  
       21 天前
    没系统学过,工作是够用,很多复杂的类型体操也写不出来,
    chenalex
        23
    chenalex  
       21 天前
    之前我是类型体操选手, type-challenges 大部分的题我都可以一遍过
    但是 这个体操你日常业务是接触不到的, 会慢慢生疏忘记, 而且 ts 有许多特定的, 古怪的, 需要你强行记忆的规则
    anyscript
        24
    anyscript  
       21 天前
    会定义类型就行,说实话那些复杂的类型体操除了那些基础库会用到,写写业务哪用得到,难写可读性还差.
    damila
        25
    damila  
       21 天前
    赞同楼上的观点,常规业务不需要用到类型体操,看看文档就会写了。实际上有了 ai 之后,ts 完全不用特意去学,看看代码就会了(当然面试除外)
    livib
        26
    livib  
       21 天前
    能看懂基本就够了,你又不会真的去写
    bbbblue
        27
    bbbblue  
       21 天前
    没学。。。
    就边写边查 ai 写的问 ai 啥意思。。。
    andyskaura
        28
    andyskaura  
       21 天前
    像 java 一样写就行。
    AV1
        29
    AV1  
       21 天前
    @wakarimasen
    svelte 是因为不想编译,改用 jsdoc ,跟类型体操关系不大,jsdoc 也可以类型体操。
    craftsmanship
        30
    craftsmanship  
       21 天前 via Android
    问 AI 就完了 先进的模型大概率比你写得又快又好
    jchnxu
        31
    jchnxu  
       20 天前
    @Wxh16144 歪个楼,我一直感觉 union & intersection 我理解的很不到位,经常瞎用
    xiaohanyu
        32
    xiaohanyu  
       20 天前
    写开源项目,复杂类型推导不懂的话就问 AI
    lete
        33
    lete  
       20 天前
    好问题,我居然一时半会想不到我是怎么会写的[笑哭]

    可能当年有学习过强类型语言吧 java ,c#。我记得当时简单的在 b 站上看了点基础视频(简单过一遍)之后在写的时候刻意的去用 ts 写代码,一开始不懂的时候直接用 any ,后来写多了,慢慢就悟了。然后今年又学了 rust ,感觉还好(个人觉得 rust 也不像网上说的那么难学吧,感觉和其他强语言类型差不多,甚至根据更轻松一些,也许是自己的知识储备还可以?)

    我觉得最重要的还是多写多做吧,哪怕是造轮子
    sincw
        34
    sincw  
       20 天前
    先学得 java,后面再学 js,写 TS 的时候直接一看就上手了
    DICK23
        35
    DICK23  
       20 天前
    虽然不想重复,但还是得说,像 java 一样写就行了,另外大部分场景下用不到类型体操
    COOOOOOde
        36
    COOOOOOde  
       20 天前
    别人写 ts,就是棒就是好. 我写也行但要让我用 any, 不然太累了
    connection
        37
    connection  
       20 天前
    typescript handbook + what's new
    类型魔法就得看各种 issue + 各种类库 补充了。
    CLMan
        38
    CLMan  
       20 天前
    我是在有前后端编程语言经验后,再接触的 TS 。用 TS 是因为有自己的开源项目需求,编程语言本质上是工程工具,用进废退。
    我入门编程语言比较喜欢从 tutorial/tour 入手,我选择的是官方 handbook ,跳过自己觉得复杂或者无用的章节或内容,如 Narrowing 。
    然后实际上手项目,感觉写起来真没感受到什么心智负担。使用阶段就是编码->总结->学习( AI ,官网 What's New,Handbook,Google Style Guide,Java Script 自身)的循环。
    我没去尝试类型体操,因为我认为我用不到它,我不需要刻意去了解它。
    ilaipi
        39
    ilaipi  
       20 天前
    现在有 ai 了,类型都让 ai 来写,不管多复杂,反正都不想看一眼,写个类型这种事情,ai 还是非常擅长的。

    不过面试的时候要是问这个类型相关的概念就直接噶了
    AV1
        40
    AV1  
       20 天前
    jqtmviyu
        41
    jqtmviyu  
       20 天前
    看那些前端库的 ts, 看得脑袋发晕. 有些两行都不放下, 只能丢给 ai 帮 ai 分析.
    就像背完 99 乘法表, 丢上来一元两次方程.
    Terry05
        42
    Terry05  
       20 天前
    我自己写的库,还是用 js 写,再提供 .d.ts 文件就是
    jsq2627
        43
    jsq2627  
       20 天前
    实践中学习,然后再经历一两次类型体操就熟练了。
    yanyiming
        44
    yanyiming  
       20 天前
    看阮一峰的教程, 然后再看官方文档.
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5428 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 07:00 · PVG 15:00 · LAX 23:00 · JFK 02:00
    ♥ Do have faith in what you're doing.