国内最专业的IT技术学习网

UI设计

当前位置:主页 > 亚博2018体育博彩 >

Google员工吐槽TypeScript:我觉得你的类型检查不太

发布时间:2019/09/12标签:   代码    点击量:

原标题:Google员工吐槽TypeScript:我觉得你的类型检查不太
克日名为 Evan Martin 的 Google 员工在 TypeScript 的 GitHub repo 中宣布了对 TypeScript 的“吐槽”(就是提了一个 issue),说吐槽能够不太适合,正确来讲是对 TypeScript 3.5 的应用反应。Google员工吐槽TypeScript:我觉得你的类型检查不太好固然 TypeScript 3.5 公布已有三个月(最新稳固版 3.6 已于上月月尾公布),但 Google 开辟团队近来才进级至 3.5 版本。应用一段时光后,开辟者感到不吐不快,因而便有了这篇品质颇高的应用反应。是的,这里说的名目恰是被世人应用的 Google —— 谁人只要一个代码堆栈且领有数十亿行代码的 Google。配景开辟团队面临的名目是领有数十亿行代码的 Google,在团队外部,全部成员应用的是统一版本的 TypeScript 和统一组跨全部平台的编译器标志(compiler flag),如需进级,成员会帮助为全部人同时进级这些标志。Evan 说到,他和各人一样会冀望 TypeScript 的新版本进级能带来一些改良。比方,Evan 表现本人盼望并欢送对尺度库停止改良,即使这能够象征着须要从代码库中删除相似但不兼容的界说。但团队发觉此次进级至 TypeScript 3.5 带来的额定任务量要比此前的进级多很多。Evan 以为 3.5 版本中有三个重要变更让此次进级变得特别困难,他信任这些变更的大少数是有其目的的,而且旨在改良范例检讨,但他也以为 TypeScript 团队所懂得的范例检讨一直只是在保险与效力之间衡量。Evan 盼望这份大型代码库的 TypeScript 应用反应能关心 TypeScript 团队更好地评价将来相似的情形,并供给一些倡议。上面看看 Evan 说的 3.5 版本给团队带来影响的三个重要变更。泛型的隐式默许值(Implicit default for generics)此项特征属于 3.5 版本中的损坏性变更,Evan 以为这里招致呈现成绩的起因是代码的泛型与代码所做的任务并无相干。比方,假定有一些存在 Promise 剖析的代码,但不关怀 Promise 要剖析的值:functiondontCarePromise(){returnnewPromise((resolve)=>{resolve();});}因为泛型是未绑定的,在 3.4 中为 Promise<{}> 的代码在 3.5 中就会变成 Promise。假如此函数的应用者在恣意处所写下了这类范例的 Promise:constmyPromise:Promise<{}>=dontCarePromise();这将会招致呈现范例过错。除此以外,另有一种被称为“仅前往泛型(return-only generics)”的形式,这类情形下,泛型函数仅在前往范例中应用它的恣意形式。这里招致的成绩是,会呈现许多范例推导不测。比方,在只前往泛型的情形下,有以下的代码:expectsString(myFunction());

上一篇:国内外15大BI数据可视化工具

下一篇:没有了

返回
版权信息Copyright ? 银河官网 版权所有??? ICP备案编号:鲁ICP备09013610号