草庐IT

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

全部标签

javascript - Typescript es6 模块重新导出可变变量绑定(bind)

我正在尝试使用es6模块语法重新导出变量,然后更改它并查看最终导入中反射(reflect)的更改。但它没有按预期工作。请参见下面的示例:a.tsexportvara=1;exportfunctionchangeA(){a=2;}b.tsexport*from'./a';c.tsimport{a,changeA}from'./b';console.log(a);//1changeA();console.log(a);//Expected2butget1tsconfig.json{"compilerOptions":{"target":"es5","module":"commonjs","

javascript - 无法转换包含异步等待的 TypeScript

当尝试转译以下包含async和await关键字的TypeScript代码时asyncfunctionfoo(){awaitbar();}出现以下错误src/aa.ts(1,7):errorTS1005:';'expected.src/aa.ts(2,11):errorTS1005:';'expected.结果是一个包含此内容的.js文件async;functionfoo(){await;bar();}我正在使用这些tsc选项:-tes6-mcommonjs,遵循thisMSDNblog上的说明.我安装了TypeScript1.8.9。有什么想法吗? 最佳答案

javascript - 如何在 TypeScript 中键入带有类的数组?

我有一个应用程序,它通过运行其方法.init(params)进行初始化,如下所示:app.init([TopBar,StatusBar,MainArea]);其中TopBar、StatusBar和MainArea是类,而不是类的实例。这些类中的每一个都实现相同的接口(interface)IComponent。我想从.init(params)方法中传递的类中实例化对象,如下所示:init(params:IComponent[]):void{params.map(function(component){letcomp=newcomponent();this.components[comp.

javascript - 在 TypeScript 中定义 js-data 资源

是否可以使用TypeScript类创建js-data资源定义?我通常想要的是对计算属性和实例方法定义提供完整的类型支持。像这样的东西会很棒:classSomeModel{publicsomeBusinessModelValue='foo';publicsomeMoreValues='bar';publicgetsomeComputedProperty(){returnthis.someBusinessModelValue+someMoreValues;}publicinstanceMethod(param:string){returnthis.someMoveValues.search

javascript - 是否可以使用 JavaScript 中的类型化数组将 4x Uint8 转换为 Uint32?

我正在项目中进行一些按位操作,我想知道内置类型数组是否可以让我省去一些麻烦,甚至可能给我一些性能提升。letbytes=[128,129,130,131]letuint32=(bytes[0]-2138996093我可以使用类型化数组来获得相同的答案吗?//notactuallyworking!letuint8bytes=Uint8Array.from(bytes)letuint32=Uint32Array.from(uint8bytes)[0]//=>ideallyi'dgetthesamevalueasabove:-2138996093附带问题:我发现上面的uint32是负数很奇怪

javascript - Typescript:如何解析 node.js 的绝对模块路径?

我需要根据baseUrl解析模块,以便输出代码可用于node.js这是我的src/server/index.tsimportexpress=require('express');import{port,databaseUri}from'server/config';...这是我的src/server/config/index.tsexportconstdatabaseUri:string=process.env.DATABASE_URI||process.env.MONGODB_URI;exportconstport:number=process.env.PORT||1337;运行ts

javascript - 类型错误 : Cannot read property 'push' of undefined -Express

我已经为使用express路由和创建服务器的nodejs应用程序编写了两个Javascript文件。由于我是初学者,我对此了解不多。当我运行该应用程序时,它向我显示以下错误:-/usr/lib/node_modules/express/lib/router/index.js:472this.stack.push(layer);^TypeError:Cannotreadproperty'push'ofundefinedatFunction.use(/usr/lib/node_modules/express/lib/router/index.js:472:15)atObject.(/hom

javascript - {} 和对象有什么区别?

最近,我对{}和Object之间的区别感到困惑。有时,{}会解决我的问题,有时,它不能,我切换到Object。我真的不知道为什么。我做了一些测试,希望它能给你一些提示。constt:Array=[{label:'1'}];constarr:Array=t;//errorconstarr2:Array=t;//pass 最佳答案 {}是newObject()的别名。所以您可以说Object是一个类,而{}是该类的一个实例。你可以在这里看到:console.log(JSON.stringify(newObject())==JSON.st

javascript - Vue/Vuex 未知 Action 类型

我已经开始在我的应用程序中实现Vuex,并且我决定将我的商店拆分为模块。一开始我只创建了一个模块来测试Vuex模块的工作原理,因为我以前没有任何使用它的经验。我创建了一个模块文件夹,里面有一个文件夹用于我的模块,名为Company。在公司文件夹中,我创建了下一个文件:action.js、getters.js、index.js、mutations.js。这些文件中的代码:action.js:importapifrom'@/vuex/utils/api'constgetCompanies=(context)=>{api.get('/57/companies').then(response=

javascript - 类方法与类字段函数与类字段箭头函数之间有什么区别?

类方法、作为函数的类属性和作为箭头函数的类属性有什么区别?this关键字在方法的不同变体中的行为是否不同?classGreeter{constructor(){this.greet();this.greet2();this.greet3();}greet(){console.log('greet1',this);}greet2=()=>{console.log('greet2',this);}greet3=function(){console.log('greet3',this);}}letbla=newGreeter();这是从TypeScript转译后生成的JavaScript。v