草庐IT

【TS】object类型

全部标签

javascript - 我如何检查 object.property 是在 Angular 2 中定义的?

Angular2中是否有与Angular1中的angular.isDefined等价的函数勾选安全导航运算符?.,仅在tempalte中支持 最佳答案 Typescript没有检查变量是否定义的函数,Angular2也没有。使用杂耍检查,您可以一次测试null和undefined:if(object.property==null){如果您使用严格检查,它只会对设置为null的值为真,而不会对undefinedvariable求值为真:if(object.property===null){

javascript - AngularJS FileUpload 中未定义内容类型的用途

为了将文件从Angular上传到SpringMVCRESTWebService,人们似乎在AJAX请求中设置Content-Type:undefinedheader。这种content-type的用途是什么,SpringMultiPart是否需要它?$http.post(uploadUrl,fd,{transformRequest:angular.identity,headers:{'Content-Type':undefined}//...} 最佳答案 它将重置默认header“application/json”并让浏览器为我们填

javascript - 具有精确流类型的对象传播

我似乎无法在流程中获得确切的类型来处理对象传播。typePoint={|x:number,y:number|};constp1:Point={x:10,y:10};constp2:Point={...p1,y:5};生成错误对象文字。不精确类型与精确类型不兼容这不会产生错误,但会修改p1:constp3:Point=Object.assign(p1,{y:5});对空对象使用Object.assign也会产生相同的对象字面量错误:constp4:Point=Object.assign({},p1,{y:5});如果我使用typePoint={x:number,y:number};那么对

javascript - 在 Flow 中过滤 Maybe(可空)类型的数组以删除空值

我有一个Maybe(可空)类型的数组,我想过滤那些null以得到一个只包含非空值的数组:@flowtypeFoo={foo:string}constbar:Array=[null,{foo:'Qux'}]constbaz=bar.filter(x=>x!=null).map(({foo})=>foo);但是,flow提示参数仍然可以是null,而它显然不能:11:.map(({foo})=>foo);^property`foo`.Propertycannotbeaccessedonpossiblynullvalue请参阅flow.org/try上的代码.有没有办法告诉流该数组现在只包含

javascript - 对象类型的 Flowtype 数组不允许额外的属性

我遇到了一个奇怪的流程错误。我只是想拥有一个接受具有amount属性的对象数组的函数,但在为对象提供更多属性时出现错误。constsum=(items:Array)=>{/*something*/}typeItem={amount:number,name:string};constlist:Array=[];sum(list);这给了我以下错误:10:constlist:Array=[];^property`name`.Propertynotfoundin2:constsum=(items:Array)=>{/*something*/}^objecttypehttps://flow.o

javascript - TS1148 ~ 如何使用 --module : "import" and typescript 2. x "none"

我目前正在使用一些旧版JavaScript开发一个项目。该应用程序不包含模块加载器,它只是将所有内容作为全局变量放入window对象中。遗憾的是,接触遗留代码并包含模块加载器对我来说不是一个可行的选择。我想在我自己的代码中使用typescript。我设置了typescript编译器选项module:"none"在我的tsconfig.json中,我只使用命名空间来组织我自己的代码。到目前为止效果很好。..到现在为止:import*asRxfrom'rxjs';..Rx.Observable.from(['foo',bar']);...//ResultsinTypeScript-Erro

javascript - TS 编译 - "noImplicitAny"不起作用

我有密码letz;z=50;z='z';我的tsconfig.json是:{"compilerOptions":{"target":"es5","module":"commonjs","sourceMap":false,"noEmitOnError":true,"strict":true,"noImplicitAny":true}}但是编译成js没有异常是什么鬼?最好的问候,克罗瓦 最佳答案 因为z永远不会被输入为any。z的类型只是根据您分配给它的内容进行推断。来自releasenotes:WithTypeScript2.1,in

javascript - 通过 this 在 typescript 中从派生类型调用构造函数

在我的typescript中,我试图通过基类中的方法创建/克隆子对象。这是我的(简化的)设置。abstractclassBaseClass{protectedprops:TCompositionProps;protectedcloneProps():TCompositionProps{return$.extend(true,{},this.props);}//canbeoverwritenbychildsconstructor(props:TCompositionProps){this.props=props;}clone(){constprops=this.cloneProps();

javascript - 填空类型字符串的正则表达式

我有一个已知开始和结束的字符串,但我只想匹配未知的中心。例如,假设您知道您将拥有这样的字符串“我今天午餐吃了________”而你只想匹配空白。这是我尝试过的:^我今天午餐吃了(.*)$它匹配整个字符串,也匹配组,也就是空白。所以当给定“我今天午餐吃披萨”时,它会产生两个匹配项:“我今天午餐吃了披萨”和“披萨”有没有办法只匹配空格?有没有办法只得到“披萨”?或者至少将“披萨”作为第一场比赛? 最佳答案 你构建了一个捕获组;使用它。当您创建一个包含在括号中的内容的正则表达式时,在您的情况下(.*?),您创建了一个capturinggr

javascript - 在松散类型语言的单元测试中,是否应该检查方法的返回类型?

在Java等强类型语言中,无需显式检查返回对象的类型,因为如果返回类型与方法签名不匹配,代码将无法编译。前任。当需要整数时,您不能返回bool值。在Ruby、JavaScript、Python等松散类型语言中,可以返回任何内容。编写检查从方法返回的对象类型的单元测试是否有意义?在我看来,这将确保在需要bool值的地方返回bool值。有必要在下面进行单元测试吗?=============================Ruby示例的尝试:first_module.rb:moduleFirstModuleTypeA=Struct.new(:prop1,:prop2)self.create_