草庐IT

返回类型

全部标签

javascript - 我可以创建一个 Array.isArray() 返回 true 的对象而不使用 Array 构造函数或数组文字吗?

通过将其原型(prototype)设置为Array.prototype,我可以轻松地使一个普通对象看起来像一个数组:constobj={};Reflect.setPrototypeOf(obj,Array.prototype);(我知道神奇的length属性和稀疏数组也存在一些问题,但这不是这个问题的重点。)我想让Array.isArray(obj)返回true(当然不修改Array.isArray()方法)。MDNpolyfillforArray.isArray()如下:if(!Array.isArray){Array.isArray=function(arg){returnObje

javascript - 抛出错误时函数返回什么 - Javascript

我正在阅读《面向Web开发人员的专业Javascript》一书,并看到了以下代码。我对此有一些疑问:“thrownewError()”返回什么?不明确的?如果抛出错误,“if”的代码块会怎样?functionmatchesSelector(element,selector){if(element.matchesSelector){returnelement.matchesSelector(selector);}elseif(element.msMatchesSelector){returnelement.msMatchesSelector(selector);}elseif(eleme

javascript - Mobx 返回 ObservableObjectAdministration 而不是我的对象

我是mobx的新手。我想知道为什么当我调用计算的getServerUrls()函数而不是对象时得到ObservableObjectAdministration。下面是我的店铺。import{observable,computed}from'mobx';import{ServerNames}from'master-server-urls';classServerNamesStores{@observableServerNameUrls={};@computedgetgetServerUrls(){console.log('@computedgetgetServerUrls()',this

javascript - React/Redux reducer 在初始化期间返回 undefined

我正在开发我的第一个React/Redux项目。一切顺利,然后我尝试创建一个新的reducer。我认为这是一个非常简单的方法,但是当我加载页面时出现错误“ReducerX在初始化期间返回未定义”。跟踪表明这是在combineReducers()中发生的。我发现了几个类似的问题,但没有解决问题。关于这个问题:WhydoIget“Reducer[...]returnedundefinedduringinitialization”despiteprovidinginitialStatetocreateStore()?问题是他们在createStore()中使用了initialState,而我

javascript - 类型错误 : Failed to execute 'play' on 'HTMLMediaElement' : Illegal invocation

只是一个简单的问题。我想将一个HTMLMediaElement方法分配给变量。//htmlpart//jspartconstvideo=document.querySelector('#player')constplay=video.playvideo.play()//works!play()//error!Uncaught(inpromise)TypeError:Failedtoexecute'play'on'HTMLMediaElement':Illegalinvocation有人知道为什么会发生这个错误吗? 最佳答案 HTML

javascript - 我如何解决 'Property ' 宽度'在类型 'HTMLElement' 上不存在。'在 vscode 中使用//@ts-check 类型检查 Javascript(不是 Typescript)时?

在view.js文件中:constcanvas=document.getElementById('canvas');...export{canvas,};在main.js文件中:import*asviewfrom'../src/view.js';...xPosition:view.canvas.width/2,给我'属性'width'在类型'HTMLElement'上不存在。类型检查错误。我不知道如何进行,我对typescript的了解为零,而且程序是用javascript编写的。我读过的所有解决方案都需要使用typescript,这在这个例子中是没有用的。有什么办法可以消除这个错误吗

javascript - 禁止使用 Array<T> 的数组类型

我的Ttslint会针对此构造发出警告(ArraytypeusingArrayisforbidden.UseT[]instead(array-type)):Array|null这是对前一个的正确替换吗?(string|null)[]|null 最佳答案 是的,这就是array-type的行为规则强制执行,当它设置为"array"时:Oneofthefollowingargumentsmustbeprovided:*"array"enforcesuseofT[]foralltypesT.*"generic"enforcesuseofA

javascript - 从 DynamoDB 响应中删除数据类型描述符的推荐方法是什么?

DynamoDB为查询响应中的每个元素包含一个数据类型描述符,如下所示:"Item":{"M":{"Age":{"N":"8"},"Name":{"S":"Fido"},"Vaccinations":{"M":{"Rabies":{"L":[{"S":"2009-03-17"},{"S":"2011-09-21"},{"S":"2014-07-08"}]},"Distemper":{"S":"2015-10-13"}}}}}我想去除所有这些描述符(“S”、“L”、“M”等),以便它看起来像下一个示例,在我JSON.stringify之前数据。"Item":{"Age":"8","Nam

Javascript - 如何按 3 种不同的属性类型对对象数组进行排序? (字符串、整数、 bool 值)

我有对象数组:vara=[{"name":"BBB","no":2,"size1":[3],"size2":null},{"name":"AAA","no":5,"size1":null,"size2":[1]},{"name":"BBB","no":1,"size1":[2],"size2":null},{"name":"AAA","no":4,"size1":null,"size2":[1]},{"name":"BBB","no":1,"size1":null,"size2":[1]},{"name":"AAA","no":5,"size1":[2],"size2":null},{

javascript - 如何将字符串数组转换为 typescript 类型?

我有这个数组:constarr=["foo","bar","loo"]我需要将它转换为typescript类型typearrTyp="foo"|"bar"|"loo";我如何在typescript中做到这一点? 最佳答案 为3.4及更高版本编辑:在3.4constassertions添加了,所以我们可以使用asconst得到一个字符串字面量类型的元组:constarr=["foo","bar","loo"]asconsttypearrTyp=typeofarr[number];//"foo"|"bar"|"loo"原创问题是arr没