安利一下TypeScript

#1

写个TypeScript简介,有兴趣的同学可以尝试一下。

何为TypeScript

  • 来自微软的编译到JS语言
  • 类型支持
  • 编译到es6/es5/es3
  • 会写es6+就会写TypeScript

TypeScript相较Babel/CoffeeScript/…的优势

  • 特性稳定。有谷歌(Angular2)和微软加成
  • 优秀的开发者体验。VS Code, WebStorm, Atom, VS, Sublime Text, 和 Eclipse支持。前三个亲测都不错
  • 类型是最好的文档,再也不用担心自己的代码和文档不一致了

#TypeScript对比函数式前端语言

  • 泛型?类型别名?Union type?副作用?第三方库?类?原型?只管用就是
  • JSX?没问题。React以外的JSX也支持
  • 运行时类型检查?没问题。而且TypeScript可以识别if + instanceof,并在IDE中提供相应的提示。

先这些
:grin:

1 Like
#2

很感兴趣,找时间在项目中实践下。 @pinyin 期待一些实战经验。

#3

本来是用CoffeeScript一个人开发中,代码规模到一定程度后发现已经无法控制了。

现在重构成TypeScript,有时候用TS写一点前端的架构POC

TS的优点可能在团队协作中更明显。例如,可以使用类型替代PropTypes:

interface Keyed {
  key: string
}

interface Clickable {
  onClick: (evt: MouseEvent)=> void
}

interface ListItemProps extends Keyed, Clickable {

}

class ListItem extends React.Component<ListItemProps, void> {
   render(){
       ....
   }
}

如果其他人在JSX中用到这个组件时忘记传入正确类型的key和onClick,IDE就会给出代码提示,项目也无法编译。

#4

赞,这样就不需要到编译检查了。

#5

分享个TypeScript的坑

总结:总是使用es6的export/import语法