草庐IT

【TypeScript】深入学习TypeScript枚举

全部标签

javascript - TypeScript promise TS2304 TS2529

我有以下代码:functionasyncFunc1():Promise{returnnewPromise(x=>x);}产生了以下错误:TS2304:cannotfindname'Promise'所以我将其更改为显式声明“Promise”:///import*asPromisefrom'bluebird';functionasyncFunc1():Promise{returnnewPromise(x=>x);}现在我收到以下错误:TS2529:Duplicateidentifier'Promise'.Compilerreservesname'Promise'intoplevelscop

javascript - 使用 Array.map (TypeScript) 返回通用数组

我写了一个函数来获取一个字符串数组并应该将它转换成一个T数组:interfaceFooable{foo:string;}functionsimplifiedExample(bars:string[]):T[]{returnbars.map(bar=>{return{foo:bar}})}但是函数第一行的“bars”这个词用红线标出,表示:TS2322:Type'{foo:string;}[]'isnotassignabletotype'T[]'.Type'{foo:string}'isnotassignabletotype'T'.我怎样才能让它发挥作用? 最

javascript - 使用 TypeScript 函数返回 JSON 对象

我最近发现了TypeScript,并尝试将我现有的JavaScript代码转换为TypeScript。我有一个函数可以从字符串(data)中检索信息,将其放入JSON对象(json)中并返回它。但是,当使用TypeScript且未指定返回类型时,我在Eclipse中收到以下错误:Nobestcommontypeexistsamongreturnexpressions当我添加any返回类型时它就消失了,但我认为这不是一个好的解决方案(太通用)。而且我找不到“json”或“object”类型。我的问题是:我应该使用什么返回类型?函数如下:functionformaterDonnees(da

javascript - gulp typescript 时出现 TypeError

执行Typescript转译时出现以下错误:TypeError:file.isSymbolicisnotafunctionatDestroyableTransform.normalize[as_transform](D:\project\node_modules\vinyl-fs\lib\dest\prepare.js:31:15)atDestroyableTransform.Transform._read(D:\project\node_modules\vinyl-fs\node_modules\readable-stream\lib\_stream_transform.js:182

javascript - 是否有任何 Typescript 表达式 `A` 使得 `A` 的真实性与 `!!A` 不同?

在Javascript中,几乎所有表达式(所有表达式?)都有一个“真实性”值。如果您将表达式放在需要bool值的语句中,它将计算为bool值等价物。例如:leta='foo'if(a){console.log('aistruthy!');}//Willprint'aistruthy!'.在某些工作场所,通常会通过两次取反将这种情况下的表达式强制转换为实际的bool值:leta='foo'if(!!a){console.log('aistruthy!');}//Willprint'aistruthy!'.我的问题:这仅仅是风格问题吗?是否纯粹是为了与阅读代码的人交流,我们真正认识到a不是

javascript - TypeScript 有 NaN 类型吗?

这个问题在这里已经有了答案:Integer(literal)uniontype,withNaNasvalidreturnvalue(2个答案)关闭4年前。TypeScript是否有我可以为变量声明的NaN类型?例如,如果我要创建一个这样的变量:constnumber:number=parseInt('123',10);我可以把它改得更准确吗,像这样:constnumber:number|NaN=parseInt('123',10);基本上我想知道我是否可以将变量声明为NaN类型(不是未定义或null)。上面的代码片段在TypeScript中不起作用,我无法在TypeScript指南的基

javascript - Typescript 3 Angular 7 StopPropagation 和 PreventDefault 不起作用

我在一个div中有一个文本输入。单击输入应将其设置为焦点并停止div单击事件的冒泡。我在文本输入事件上尝试了stopPropagation和preventDefault但无济于事。控制台日志显示无论如何,divclick仍然执行。如何停止div点击事件的执行?//html//component@ViewChild('inputBox')inputBox:ElementRef;divClick(){console.log('clickinsidediv');}fireEvent(e){this.inputBox.nativeElement.focus();e.stopPropagatio

javascript - TypeScript 和 Html2Canvas?

有谁知道Html2Canvas库是否有可用的TypeScript定义文件(d.ts)?Html2Canvas是一个很棒的库,可以使用JavaScript截取浏览器的屏幕截图。参见https://github.com/niklasvh/html2canvas了解更多详情。 最佳答案 从1.0.0-rc.2版本开始,类型被添加到npm中的html2canvas包中。所以如果你安装它使用npmihtml2canvas@1.0.0-rc.2或者安装更高版本,你可以使用html2canvaswithtypescript。

javascript - 您可以使属性在 javascript 中可枚举但不可迭代吗?

我只是想知道是否有一种方法可以使对象属性像在forin循环中一样可枚举,但不会出现在forof循环中,有点像Object.defineProperty({},'prop',{enumerable:true,iterable:false}如果没有,是否有计划实现这样的功能?或者forof循环是否使用可枚举属性 最佳答案 我在Mozilla开发网络(MDN)上进行了一些挖掘。原来对象有一个obj.propertyIsEnumerable(prop)检查属性是否可枚举的方法。从MDN中给出的示例来看,通过原型(prototype)链继承的

javascript - 使用 Typescript 延迟加载模式

因此,对于C#和其他具有属性获取和设置评估程序的语言,构建延迟加载模式非常简单。我最近才开始使用TypeScript,并且我正在尝试实现相同的目标。我正在通过Ajax调用加载具有大部分属性的Poco。问题可以描述如下:exportinterfaceIDeferredObject{HasLoaded:boolean;DeferredURI:string;}exportclassLibrary{LibraryName:string;Books:IDeferredObject;}exportclassBook{Title:string;UniqueNumber:number;}window.