1
PinkRabbit 2021-03-11 15:48:39 +08:00
会写,不常用,如果团队都会,用起来还是不错的
|
2
YadongZhang 2021-03-11 16:10:38 +08:00 1
|
3
ironblood 2021-03-11 16:17:25 +08:00
前阵子抄(划掉)借鉴别人的一个库,顺手用 TS 改写,没有深入学习,类型判断确实省心很多,上手也比想象中容易。
|
4
ccraohng 2021-03-11 16:24:15 +08:00 via iPhone
现在全部 ts 开发,低级 bug 几乎没怎么出现
|
5
jones2000 2021-03-11 16:25:14 +08:00
不会,js 直接上。
|
6
jones2000 2021-03-11 16:27:17 +08:00
写 js 就为了放飞自己, 怎么写都可以。 强类型的直接用 c++, java 不就可以了。
|
7
JosieZhao OP 会写就已经很厉害了~
|
8
JosieZhao OP @PinkRabbit 会写就很厉害了
|
9
Sapp 2021-03-11 16:28:27 +08:00
要求的还是挺多的,会的人也不少啊,按照我最近收简历看,做 vue 的会的人比较少,react 的有三分之一以上都用过一些。另外在我司 ts 是核心,react 不是,leader 允许特定项目 react 换 ng vue,但是不允许不用 ts
|
12
Kaciras 2021-03-11 16:32:31 +08:00
多啊,我现在能用 TS 的一律上,有类型写得才舒服。
|
13
michaelcheng 2021-03-11 16:33:18 +08:00
17 年公司用 ng 所以用的 ts ,后面换了公司就很少用了,小公司,推了几次也没用下去。主要看公司吧
|
15
gdrk 2021-03-11 16:38:51 +08:00
面试的时候公司可以不用,但你得会...
|
16
toma77 2021-03-11 16:45:40 +08:00
以前没用 react 的时候是 ts+golang
现在是 ts+react+next.js |
17
murmur 2021-03-11 16:48:32 +08:00
我们没用 ts,这东西其实不是那么刚需,文档都给了你,很多人用参数都是复制粘贴,就算.能.出来 api,不看文档直接盲猜参数的也要打死
|
18
JosieZhao OP @michaelcheng 对,都是一线大厂要求 TS 比较多,小公司技术提升还是有局限
|
20
ALVC666 2021-03-11 17:06:33 +08:00
能写 但是不是必须
因为公司团队小 也没有全部项目过渡到 ts 的打算 就新项目可能会推行试试看 |
21
viator42 2021-03-11 17:12:10 +08:00
ES6 已经不够看了么
|
22
otakustay 2021-03-11 17:18:18 +08:00
用不了 3 年,不会 TS 就不用进一线大厂了
|
23
libook 2021-03-11 17:18:27 +08:00 1
我基本上就是写 JS,然后加上类型声明啥的,扩展名写 ts——齐活儿。
TS 兼容 JS 的语法,没啥大难度。 TS 不是银弹,项目上有问题可以用 TS 来解决就用 TS,没有啥特别需求的话也没必要强上。 JS 非常灵活,所以对开发者要求很高,经验不够丰富的开发者很容易写出一些有缺陷的代码,TS 可以被用来实现一些开发上的约束,从而规避一些问题。 相应的还有 Go,没有那么灵活,大多需求都有确定的一种方案,所以降低了无意间造成的“骚操作”,减少了问题。 TS 仅会做编译时类型检查,不做运行时的保障,所以对于外源输入数据的情况还是要自己做好类型检查,或者使用一些真·强类型语言。 JS 也不是说就可以扔了,TS 再怎么🐂🍺最终也都是编译成 JS 运行的,精通 JS 可以让你有更强的解决问题的能力。 |
24
kingwl 2021-03-11 17:21:30 +08:00
能用就用。
|
25
iwh718 2021-03-11 17:48:40 +08:00 via iPhone
我不用 ts 很反感。如果需要强类型 我可以使用 kotlin 或者 swift 。但是我拒绝 js 换成 ts 。就是内心反感。这不是我一开始喜欢的 js 了
|
26
shenyu1996 2021-03-11 18:01:06 +08:00
习惯了还是很香的 适用于业务数据复杂的项目
可以避免很多因为数据类型带来的低级错误 小项目就没必要了 js 一把梭出活快 |
27
wktrf 2021-03-11 18:23:22 +08:00
个人觉得 TS 不是约束而是帮助,懒人必备那种,某些库类型+名称甚至不用看文档
|
28
jadehare 2021-03-11 18:26:53 +08:00
有些情况下 ts 比较麻烦,但是写 ts 以后再也不怎么写 js 了
|
29
Bijiabo 2021-03-11 18:32:12 +08:00
能上 TS 就尽量 TS,习惯之后还是挺香的,降低很多心智成本。
如果是团队开发的话估计未来都会要求吧 |
30
OHyn 2021-03-11 18:52:51 +08:00
第一次用的时候就帮我挡掉了一个低级错误。。。
|
31
amundsen 2021-03-11 18:56:23 +08:00
ts 非常重要
|
32
Jackeriss 2021-03-11 18:56:59 +08:00 via Android
TS 难在哪里?
|
33
1a0ma0 2021-03-11 18:58:49 +08:00
TS 挺香的。。。最近毕设做游戏,就拿 TS 写的。。。
|
34
weixiangzhe 2021-03-11 19:33:17 +08:00
会写就会,不会就是 any
|
35
learningman 2021-03-11 19:35:58 +08:00 via Android
ts 很舒服的,就是有的时候引入 js 的库会有点恶心
|
36
love 2021-03-11 19:37:22 +08:00 via Android
@iwh718 固执与第一印象是大忌。另外 TS 类型系统比你说的传统静态语言强大太多了,简直是结合动静两类语言的优点
|
37
xarthur 2021-03-11 19:55:55 +08:00 via iPhone
不是前端,没怎么学会 JS 直接上的 TS,我现在是 TS 比 JS 熟悉(
|
38
LiuJiang 2021-03-11 20:00:14 +08:00
把 JS 的特点都抹杀掉了
|
39
KuroNekoFan 2021-03-11 21:29:48 +08:00 via iPhone
根据服务端文档定义类型还是蛮好的,不过这个也不一定要 ts,比如 webstorm 也能根据方法参数的解构写法来做一些推断,不过 ts 还是强大很多,很符合我心目中“flexible type”的定位
|
40
rodrick 2021-03-11 21:36:10 +08:00
还好吧 主要不就是类型判断和接口类继承这些 可能是之前写过 java 的愿意 反正我觉得差不多
|
41
kikyous 2021-03-11 21:48:50 +08:00 via Android
ts 很爽
|
42
luwies 2021-03-11 21:55:17 +08:00
我挺喜欢的
|
43
yazoox 2021-03-11 21:58:57 +08:00
有时候用的第三方库,没有 TS 提供怎么办?
|
44
Shook 2021-03-11 22:07:24 +08:00
会用,但我不喜欢用。
|
45
cs3230524 2021-03-11 22:09:12 +08:00
核心、框架、架构用 ts,业务代码 js
|
46
renmu123 2021-03-11 22:18:12 +08:00 via Android
楼上怎么都是吹的,我是实在用不习惯 ts,何况现在的生态也不是很完善
|
47
lupkcd 2021-03-11 22:27:13 +08:00
anyscript
|
48
meteor957 2021-03-11 22:29:27 +08:00
any 满天飞
|
49
zhangshine 2021-03-11 22:35:59 +08:00
用起来很爽,第三方库没有就直接加上也很方便。
|
50
zhangshine 2021-03-11 22:36:13 +08:00
@zhangshine 自己加上
|
51
x4storm 2021-03-11 22:45:29 +08:00
库的类型写好点, 平时写业务大部分都可以推断出来, 减少语法噪音.
|
52
CismonX 2021-03-11 22:52:33 +08:00 via iPhone
虽然我不做前端,但去年还是稍微学了下 ts,做了两个练手项目
众所周知的优点不必多说,这里特意想强调的是,ts 的类型系统是图灵完备的,你可以用它做类似 C++的模版元编程 前段时间我还特意用 ts 的类型系统实现了某编程语言的解释器。纯 ts 编译期实现,无需执行任何 js |
53
rbe 2021-03-11 23:07:53 +08:00
一个较大的长期迭代的 js 项目,必然会存在文档缺失 /文档描述不清 /责任人早已离职或者他也记不清之类的问题。能够做到良好地实践 ts 的话,会在很大程度上缓解看不懂参数 /传参千奇百怪太 magic/频繁出各种低级小 bug 等等问题。就算用不好,用成了 anyscript 其实收益也是可以的,上手没有那么难。
|
54
rbe 2021-03-11 23:27:46 +08:00
个人认为 ts 最麻烦的问题是真正上手之后会发现他的类型系统的表现和直观的认知不一样,导致经常要花很多时间研究怎么让类型正确匹配。比如在创造复杂类型的时候需要了解各类类型体操,比如枚举类型不能方便的遍历,还有 ... 操作符和元组的各类历史遗留问题,需要你持续关注 ts 版本更新和发展等。很多人没有这个时间研究或者一时处理不来,就会写 anyscript,然后再也没机会回来管了,any 代码变多就容易越用越错最后也很难纠正了……
|
55
lswl66 2021-03-11 23:52:52 +08:00 via iPhone
后端人员会比较喜欢 ts
|
56
Leviathann 2021-03-12 02:08:29 +08:00 via iPhone
ts 的类型系统很牛批
比 java 这种半调子强多了 |
57
airfling 2021-03-12 10:28:39 +08:00
会简单写,拿来改是没问题的,主要是后端开发
|
59
Jinnn 2021-03-12 10:31:41 +08:00
ts 很香, 但是要用起来还是要看团队, 特别是接口方面没有 d.ts 的话就是 any script, 不知道有没有后端肯提供这个
|
61
jymsy 2021-03-12 11:24:36 +08:00
ts 用两年了都
|
62
Rsl 2021-03-12 11:51:07 +08:00
最近一两个月开始在新项目里尝试学习使用, 上手之后有爽到, 强烈推荐.
|
63
ArrayBuffer 2021-03-12 12:00:25 +08:00
旧项目可以启用 `allowJS` 的, 在此基础上新功能可以用 `TypeScript`, 旧功能可以不用动; 新项目当然要直接上 `TypeScript` 的
|
64
namelosw 2021-03-12 12:32:07 +08:00
TS 基本是带 Gradual typing 且比较类型系统比较高级的主流代表了, 非主流代表是 Typed Racket.
不是 Gradual 的主流代表是 Scala, 非主流代表是 Haskell. 用起来比较有意思, 而且补全比较好其实用好了写起来很快. 但是坑的确多, 总的来说 TS 打开了走向了 dependent typed 的魔盒, 但又没有 dependent type, 所以很多时候会撞空气墙. TS 有三种代码风格, 或者是这三种的混合: 1: 基本就是 JS, 全靠推导, 偶尔加 any. 2: 基本就是 Java, 类型系统按最简单的用, 代码本身像 Java 有点啰嗦. 3: 代码风格像 JS, 但是带签名. 因为代码很灵活, 所以签名非常鬼畜, 其实随便打开一个库就会发现里面整页都是签名. 不过还是比较建议用的, 大家统一了整个代码库 123 偏向哪种就好. |
65
vvmap 2021-03-12 12:55:53 +08:00
写了 ts+react,再回来看以前 js+vue 。 ??? 这代码???有没有跟我一样的感受
|
66
jsjgjbzhang 2021-03-12 13:23:02 +08:00
主流的游戏引擎已经强制使用 TS 了
|
67
wangboyang 2021-03-12 14:01:31 +08:00
日常工作的话我觉得用不用大部分情况主要看上面给的时间和对于某个项目的代码质量关注程度,上面给你说今天下班前搞个项目出来哪还有心情搞什么类型声明,上面急着给 xx 总去报告,谁管你代码怎么写的,js 索嗨就完了,根据经验这种情况下就算强上 ts 大部分团队下面开发的时候为了赶工都是各种 any,看着贼恶心还不如不用;假如项目话事人只关心业务产出不关心代码的话,ts 也挺难推的;假如话事人是技术出身并且很关注代码质量,评估各方面工时的时候自然会以 ts 的标准去衡量
|
68
HanMeiM 2021-03-12 14:39:36 +08:00
后端表示 ts 真的很舒服,都要有强迫症了,不知道这个变量里面是什么东西就很发慌。
|
70
bzw875 2021-03-12 17:07:06 +08:00
要求用 TS,挺喜欢用的,但是奈何不了没有追求的人写一大堆的 any
|
73
shroxd 2021-03-12 23:44:42 +08:00 via iPhone
写库的时候只用 ts 。最初其实还是有点偏见的,后来读了 vue 的源码,才发现 ts 原来这么优雅,马上就真香了
|
74
xumng123 2021-03-13 10:10:45 +08:00 via iPhone
啥热搞啥,没有必要。
|
75
hooks 2021-03-13 13:47:02 +08:00
TS 一开始用感觉很麻烦,后面就真香了
|
76
AndyAO 2021-03-20 12:31:01 +08:00
TypeScript 是大势所趋,因为随着代码库的庞大和复杂,类型变得越来越重要。
从 StackOverFlow 2020 年度的统计数据来看,TypeScript 在程序员中的受欢迎程度已经超过 Python,位居第 2 位。[^1] 越来越多的项目都推荐使用 TypeScript 。 [^1]:https://stackoverflow.blog/2020/05/27/2020-stack-overflow-developer-survey-results/ |
78
fox2081 2021-04-22 10:04:49 +08:00
@Jinnn 可以提供,我们就是这么干的,去年秋季缠着我们后端让他们给我生成 dts,我给他们说转换规则,但转换起来多多少少都有些问题,后面又改成了让他们把枚举、类型、接口路由、参数类型、返回类型都提取到一个 json 中返回,我这边又使用模版生成 dts 和对应的 ts 源码(源码只是枚举部分),接口使用代理实现,使用类似 ApiXxx.get['cmd'](params: P).then((res: T) => {})。
现在项目已经有 1w8+行的 dts 了,500+个接口,打包之后整个包也就 15k,里面有 13k 主要是枚举定义,使用起来效率直接起飞,传入参数、返回值、枚举定义都不用自己搞,注释也附带了后端写的,原本的 Api 文档升级计划都搁置了。 |