- interface Person { name: string, age: number };
- const PersonRecord = Record({name:null, age:null});
- function createPerson(name: string, age: number): Person {
- return <any>new PersonRecord({name, age});
- }
- const p = createPerson("Jim", 44);
- expect(p.name).toEqual("Jim");
这段代码可以或许正常运行是因为类型体系是构造化的。只要创建的对象具有精确的属性-name和age,就能正常运行。
TypeScript的最大年夜的卖点就是对象。它供给高等主动完成,导航和重构。拥有如许的对象几乎是大年夜型项目标必备请求。没有他们,改变代码的恐怖使代码库处于半只读状况,并使大年夜范围重构异常危险且昂贵。
这类似于试图获得100%的单位测试代码覆盖率。而95%平日不是那么艰苦,100%可能是具有挑衅性的,可能会对您的应用法度榜样的体系构造产生负面影响。
可选类型体系还保存了JavaScript开辟工作流程。您的应用法度榜样代码库的大年夜部分可能会“破坏”,但您仍然可以运行它。TypeScript将持续生成JavaScript,即使类型检查器提示缺点。这在开辟过程中异常有效。
为什么应用TypeScript?
类型实例:
今天有很多选项可供前端开辟人员应用:ES5,ES6(Babel),TypeScript,Dart,PureScript,Elm等。所以,为什么选择TypeScript?
让我们大年夜ES5开端。ES5跟TypeScript比拟,他不须要转换。如许可以使得你的构扶植置坚削发单。你不须要添加文件监督器,转换代码,生成source map。它就能工作。
ES6须要一个转换器,所以构扶植置与TypeScript不会有很大年夜的不合。但它是一个标准,这意味着每一个编辑器和构建对象都支撑ES6或将支撑它。这是一个较弱的论据,它曾经是大年夜多半编辑器在这一点上具有优良的TypeScript支撑。
Elm和PureScript是具有强大年夜类型体系的优雅说话,可以供给比TypeScript更多的功能。用Elm和PureScript编写的代码可能比ES5中类似的代码更简单。
每个这些选项都有利弊,但我认为TypeScript是一个很好的选择,使其成为大年夜多半项目标绝佳选择。TypeScript占用优胜静态类型说话的95%,并将其带入JavaScript生态体系。你仍然可以写ES6:你仍然可以持续应用雷同的标准库,雷同的第三方库,雷同的成语和很多雷同的对象(例如,Chrome开辟对象)。它给了你很多,而不会强迫你分开JavaScript生态体系。
【编辑推荐】
- R与TypeScript在RedMonk说话人气榜上迎来排位晋升
- [译] 函数式TypeScript
- 函数式TypeScript
- 用TypeScript开辟爬虫法度榜样
- 大年夜JavaScript到TypeScript - 模块化和构建
推荐阅读
小韩是一家小公司的软件法度榜样员,而十年后他还在那家公司,依然是一名通俗的法度榜样员。算起来,他工作也有十多年了,然则,他却告诉我,他的工资已经好几年没有涨过了。有大年夜情况>>>详细阅读
地址:http://www.17bianji.com/lsqh/37050.html
1/2 1