草庐IT

【TypeScript】TS中type和interface在类型声明时的区别

全部标签

javascript - Javascript 中的对象类型

这是一个来自学习阶段新手的相当普遍的问题,是我需要澄清的问题。我目前正在学习对象,此时我正在学习继承。在本课的这一点上,我已经学习了几种不同的创建对象的方法,但使用this来创建对象。关键字似乎具有最多的功能:functionPerson(){this.eyes=2;this.ears=2;this.arms=2;this.hands=2;this.feet=2;this.legs=2;this.species="Homosapien";}我明白我可能会用它做什么,但是有一个对象是这样创建的:varperson=newObject();person.eyes=2;person.ears

javascript - 在 TypeScript 中编写闭包

只是为了好玩,我正在尝试在包含闭包的代码中使用TypeScript的强类型。原始JavaScript代码如下所示:varfunc=(function(){varprivate_count=0;varincrement=function(){private_count+=1;returnprivate_count;}returnincrement;}());这是我用TypeScript实现它的最佳尝试:varfunc:()=>()=>number=(function():()=>number{var_count:number=0;varincrement:()=>number=funct

javascript - typescript : Unexpected token; 'constructor, function, accessor or variable'

我用类型脚本编写了以下类。当我编译它时,它会出错说"src\main\MqttClientWrapper.ts(24,2):错误TS1068:意外的token。一个构造或者,需要方法、访问器或属性。”。下面是我的代码。varmqtt:any=require('mqtt');exportinterfaceIWillMessage{topic:string;payload:string;qos:number;retain:string;}exportinterfaceIMessageReceivedCallBack{onMessageReceived(message:string);}ex

javascript - Node.js 类型错误 : Object function Object() { [native code] } has no method 'assign'

每当我执行我的程序时,我都会收到以下TypeError:/home/Node-Project/node_modules/sentiment/lib/index.js:31afinn=Object.assign(afinn,inject);^TypeError:ObjectfunctionObject(){[nativecode]}hasnomethod'assign'atmodule.exports(/home/Node-Project/node_modules/sentiment/lib/index.js:31:24)atEventEmitter.(/home/Node-Projec

javascript - "TypeError: this is not a typed array.with"Node.js 中的 WS.js

我的服务器文件中只有这个,出现错误:constWebSocket=require('ws');constwss=newWebSocket.Server({port:9000});wss.broadcast=functionbroadcast(data){wss.clients.forEach(functioneach(client){if(client.readyState===WebSocket.OPEN){client.send(data);}});};wss.on('connection',functionconnection(ws){ws.on('message',functi

javascript - 如何在 TypeScript 中初始化(声明)数组?

我是TypeScript的绝对初学者。我想通过“for”循环在TypeScript中初始化一个数字数组,如下所示:publichours:number[];constructor(){for(leti:number=1;i我得到一个错误:无法设置未定义的属性“1”。你能帮帮我吗? 最佳答案 这一行:publichours:number[];不创建新数组,它只是声明它。如果你编译这段代码:classMyClass{publichours:number[];constructor(){for(leti:number=1;i你得到:var

javascript - Array.indexOf 不敏感数据类型

我一直在GoogleChrome控制台中使用Array.indexOf,我尝试了这些代码[1,2,3].indexOf(3);[1,2,"3"].indexOf("3");他们都返回了2,但是当我尝试这些代码时[1,2,"3"].indexOf(3);[1,2,3].indexOf("3");他们都返回-1。我希望它也返回2,我该怎么做?感谢您的帮助、时间和精力! 最佳答案 扩展guest271314的帖子:将两个值都转换为字符串。这也适用于数字和字符串val=trueconsole.log([1,2,"true"].findInd

javascript - 类型错误 [ERR_INVALID_CALLBACK] : Callback must be a function

我想制作一个脚本来向angularwebpack应用程序添加新规则,如下所示。有时代码会部分执行,有时会出错。constfs=require('fs');constcommonCliConfig='node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/common.js';constpug_rule="\n{test:/\\.pug$/,loader:['raw-loader','pug-html-loader']},";varconfigText="";fs.re

javascript - 如何防止表单重置清除我的 <input type ="text"> 元素?

如果我在页面上放置一个已经设置了值的表单控件,触发包含表单的重置功能会将值返回到页面加载时的原始值。但是,如果我使用javascript创建一个表单控件,并将其附加到DOM,则在重置表单时表单控件将被删除并变为空白。我怎样才能防止这种行为?我想给输入一个默认值,这样它就会像页面加载时页面上的控件一样被处理。在以下示例中,单击“重置”会清除一个输入(脚本添加的输入),但不会清除另一个(静态输入)。我想要的是两个输入都保留其值(value)。window.onload=function(){varinput=document.createElement('input');input.set

javascript - "Resource interpreted as script but transferred with MIME type application/json"使用 Youtube 的 JavaScript API

我在使用GoogleChrome的JavaScript控制台时收到“资源解释为脚本但使用MIME类型application/json传输”的错误消息。我目前正在本地计算机上运行以下代码:varURL="";varYOUTUBE_ROOT="http://gdata.youtube.com/feeds/api/videos?alt=jsonc&v=2";varstart_index="&start-index=1";varcallback="&jsonp=?"functionsearchYouTube(){varq=encodeURIComponent(jQuery("#query").