回顾了一下过去的一年发现 Typescript 在诸多的鄙视中逐渐成长。 比如 Deno 项目的出现,和 vue 3.0 将拥抱 ts。 在事业里也发现很多公司的新项目用 typescript 的几率越来越大。
(不得不承认我以前也是鄙视 TS 的一员,在使用了一段时间的 TS 后感觉还是挺不错的找到了当年写 Java 的感觉,但比起 TS 更支持原生的 JS)
回顾了一下过去的一年发现 Typescript 在诸多的鄙视中逐渐成长。 比如 Deno 项目的出现,和 vue 3.0 将拥抱 ts。 在事业里也发现很多公司的新项目用 typescript 的几率越来越大。
(不得不承认我以前也是鄙视 TS 的一员,在使用了一段时间的 TS 后感觉还是挺不错的找到了当年写 Java 的感觉,但比起 TS 更支持原生的 JS)
Typescript 会随着 JavaScript 一起一统江湖
更看好wasm
我觉得Ts更大程度上是为js开发者提供一个可选项,他不会替代js, 也没有那个替代关系之类的, 学Ts, 并不是非要去学那些, 用Ts,对于我个人来说,写代码的时候考虑的会更细致一些把, 前端这个世界太玄幻了,没法说太多
到jquery用不着的时候。
TS使更加结构化,优势明显,但缺点也明显,它受制于JS,语法不能更加灵活多变。能不能一统江湖,还是要看它的设计。
如果它能拥抱更多的用户开发习惯,那么它应该可以一统江湖,如果不能,反而出现了很多独树一帜的feature,让开发者使用起来不习惯,特别是初次接触到它的人,那结果就不是它一统江湖,它反而会被扫入垃圾箱。
@i5ting 赞同,现在在设计稍微大一点的项目的时候先会想到用 TS,"类型定义" 对团队来说太重要了,越到后面越明显,"无规不成方圆" JS 松散在一个大一点,很多人参与,和在某个时间随时可能需要换人项目里可能是灾难性。
在几个项目用了 TS 之后 像你说的提升了 JavaScript 语言设计能力。它的包容性让我个人觉得以后可能会更普及。
@zuohuadong Dart 最初最大的失误就是不兼容 js 代码,感觉很难在前端崛起了,如果谷歌真的想要 Dart 重整旗鼓的话 Angular 2+ 一定会用上。但像 @libook 说的 现在 Dart 在 Flutter 上重生了。至于用到 web 和服务器上面感觉还有点差距
@alwxkxk 这样要走就是走 coffescript 的老路了, 输出的 ES6 很多时候不适合继续编程
未来看 typescript 和 dart 谁赢了
TypeScript 是有类型定义的 JavaScript 的超集,包括 ES5、ES5+ 和其他一些诸如反射、泛型、类型定义、命名空间等特征的集合,为了大规模 JavaScript 应用开发而生。复杂软件需要用复杂的设计,面向对象就是很好的一种设计方式,使用 TypeScript 的一大好处就是 TypeScript 提供了业界认可的类( ES5+ 也支持)、泛型、封装、接口面向对象设计能力,以提升 JavaScript 的面向对象设计能力。
使用 Webpack 编译前端应用,通过TypeScript-loader可以很轻松地将 TypeScript 引入到 Webpack 中。有了 TypeScript-loader,就可以一边使用 TypeScript 编写新代码,一边零碎地更新老代码。毕竟ts是js超集,你有空就改,非强制,特别包容。
@tmirun 怕TS跳楼? 那让TS输出ES6代码即可,弃用TS,大家继续JS开发。
@libook 赞同你对 TS 和 JS 之间关系的看法,非常透彻,目前 TS 感觉就是 JS 的工具。问题在于 "工具" 用爽了之后会不会超越语言本身!
个人感觉对待 TS 还是需要扎扎实实的打好 JS 的底子。在项目中能能用就用,对于长期超过 10 年的项目感觉 JS 还是稳一点,万一 TS 哪一天想不开要跳楼的怎么办😂😂。(以前遇到个公司用 coffeescript,在2年后 coffeescript 没落了公司招不到使用这个语言的人,不得不把全部的项目创新用 JS做)
是否能一统江湖不知道,现在在某些领域,JS 代码都不用写来了:enhancer.io 从以最终交付用户可用的软件目标来看,更高阶的接近自然语言去编程实现才是软件工程一直不懈追求的目标。
一统江湖过分了。。
我司去年中开始在大佬推动下全线TS,只能说很爽很快乐...
以国内大部分业务的追求快赶快上和短暂的生命周期来看,ts 只在一些需要持续开发维护的重量级产品或是底层框架和库的场景能发挥作用。就像 WASM 不会取代 js 一样,ts 的目标应该也不是取代 js。
个人感觉TS的处境好尴尬,要想有突破就得甩开JS,但甩开JS就失去了市场优势。。。所以建议不要把TS作为JS的取代者来看待,而是当做JS工具来看待(类似于JSX和VUE),在合适的需求上适当应用,提升生产效率。
两个概念,汽车和飞机的概念。需求决定的
呀,感觉不是用ng的话,ts普及起来还是有一定困难