草庐IT

javascript - 我如何在 typescript 中声明一个 'monkey patched' 原型(prototype)

我正在为webgl-utils.js创建一个d.ts文件来自谷歌我对最后一行中的一个全局对象中的方法“猴子修补”有疑问(我认为这是正确的术语)问题行如下:/***ProvidesrequestAnimationFrameinacrossbrowserway.*/window.requestAnimFrame=(function(){returnwindow.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimation

javascript - Typescript 错误引用 _this

我尝试在TypeScript中为String.Prototype定义一些属性:Object.defineProperty(String.prototype,'test',{value:()=>{console.log("thisisatestovertext"+this);}})在javaScript原型(prototype)中,this指调用方法的对象(在本例中为字符串值)。但是文件的编译输出是:var_this=this;Object.defineProperty(String.prototype,'test',{value:function(){console.log("this

javascript - 在 Typescript 中,从 Typeings 导入时如何使用 Javascript 模块

使用mgechev'sangular2-seed,我正试图掌握Angular2和一个新项目的typescript,但遇到了这个问题。我想在组件中使用数字,所以我:使用npminstallnumeral安装Numeral使用typingsinstalldt~numeraljs--global--save安装了数字类型在我的组件中添加了import{numeral}from'/typings/globals/numeraljs';添加了代码行:letnum:Number=newNumber(numeral().unformat(text));到目前为止,还不错。一切似乎都可以正常进行。直到

javascript - typescript/javascript 中的递归函数

我正在尝试递归调用以下函数。publicgetData(key,value){this.htmlString+=''+key+':';if(valueinstanceofObject){Object.keys(value).forEach(function(keydata){letobj=value[keydata];this.getData(keydata,value[keydata]);console.log(key,obj,objinstanceofObject)});}else{this.htmlString+=''+value+'';}returnthis.htmlStrin

javascript - 关于何时在 TypeScript 中调用装饰器的困惑

我的印象是TypeScript中的装饰器是在类的构造函数之后调用的。但是,有人告诉我其他情况,例如,this的最佳答案post声称Decorators在声明类时被调用——而不是在实例化对象时调用。我参加的一门Angular类(class)的Udemy讲师还告诉我,Typescript中的装饰器在属性初始化之前运行。但是,我在这个主题上的实验似乎表明情况并非如此。例如,这是一段带有属性绑定(bind)的简单Angular代码:test.component.tsimport{Component,Input}from'@angular/core';@Component({selector:'

javascript - 如何在 TypeScript 中从匿名对象轻松创建强类型对象?

我的客户端有一些包含匿名对象的JSON。是否有一些内置机制或外部库可以将这些匿名对象转换为强类型的TypeScript对象?是否有类似AutoMapper的工具可以执行此操作?我的对象是复杂类型,以复杂类型作为属性。 最佳答案 获取一些示例数据并将其放入.ts文件中:varpeople=[{"name":"bob","height":150,"pets":[{"name":"spot","species":"dog"}]},{"name":"jane","height":142,"pets":[{"name":"lucy","spe

javascript - 我做错了什么,或者这是一个错误? ( typescript / Visual Studio 2012)

已解决:谢谢大家的帮助。我不确定到底是什么原因造成的,但我重新启动了VisualStudio,一切都恢复正常了。不知道为什么,但从(昨天)开始它就一直在工作。我昨晚没有遇到这些问题(使用相同的代码-未更改):我不明白这是什么问题。我得到的错误是:JavaScriptcriticalerroratline1,column9in[path/app.ts]SCRIPT1004:Expected';'.这是怎么回事?!万一你看不到图像,错误是指这一行:声明var文件;更新将TypeScript编译成JavaScript的javascript文件如下所示:window.onload=functi

javascript - TypeScript各种文件扩展名解释?

在尝试进一步了解TypeScript时,所有文件扩展名之间的关系是什么?typescript,*.ts定义,*.d.tsmap,*.mapJavaScript,*.js 最佳答案 我最初开始输入上面的问题时心里想,有人会过来帮助我。然后我注意到一个“回答你自己的问题”选项,我受到了JeffAtwood'sencouragingblogpost的启发。-所以我决定我应该尝试回答我自己的问题。我不得不做一些研究,但现在我有了最初想要的理解。typescript,*.ts“编译”为纯JavaScript的JavaScript类型化超集。这

javascript - 为什么 TypeScript 将 .default 添加到全局定义的导入中?

我有一个外部库thing.d.ts文件,里面有一个全局定义:declarevarthing:ThingStatic;exportdefaultthing;我在我的TypeScript中引用了npm模块:importthingfrom'thing';...thing.functionOnThing();当我转译TS(针对ES6)时,它看起来像这样:constthing_1=require("thing");...thing_1.default.functionOnThing();这会抛出一个错误:Cannotreadproperty'functionOnThing'ofundefined

javascript - Typescript - null 和 undefined 之间有什么区别?

这个问题在这里已经有了答案:WhatisthedifferencebetweennullandundefinedinJavaScript?(38个答案)关闭5年前。我想知道typescript中null和undefined的区别。我知道在javascript中可以同时使用它们来检查变量是否没有值。但是在typescript中,我想知道确切的区别以及何时最好使用它们中的每一个。谢谢。