草庐IT

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

全部标签

javascript - typescript 错误地假定该属性是只读的

我有一个用typescript创建的简单react组件,我遇到了以下奇怪的错误。这是我的代码。interfaceState{value:string}classAppextendsReact.Component{constructor(){super();this.state={value:''}}changeHandler=(e:any)=>{letstate=Object.assign({},this.state);state.value=e.target.value;this.setState(state);}render(){return();}}exportdefaultAp

javascript - ( typescript )属性 'window' 在类型 'Global' 上不存在

我正在使用Mocha/Chai进行单元测试并模拟window如下:global.window={innerHeight:1000,innerWidth:1000};可以理解,TSLint提示:Property'window'doesnotexistontype'Global'几个问题...Global是内置的NodeJS/Typescript类型吗?我目前正在通过文件顶部的declarevarglobal消除警告...但这是处理此问题的最佳方式吗?我注意到我还可以通过以下方式解决警告:declareglobal{namespaceNodeJS{interfaceGlobal{windo

javascript - 未捕获的类型错误 : Cannot call method 'checkDomStatus' of undefine

我的React应用程序不断从移动设备收到此错误消息,但我无法找到问题所在。UncaughtTypeError:Cannotcallmethod'checkDomStatus'ofundefine谁能帮我理解这个错误是什么意思?这是严重错误吗? 最佳答案 当用户使用NAVERhiggs浏览器时似乎会发生。有人在NAVERDeveloper论坛举报,但没有人回答。https://developers.naver.com/forum/posts/21372 关于javascript-未捕获的类

javascript - Apache Cordova 混合应用程序中的 ES6 模块/导入抛出 MIME 类型错误

我正在尝试在使用ApacheCordova构建的混合移动应用程序中使用ES6模块。不幸的是,Cordova似乎在提供没有MIME类型的模块,这会在WebView中引发错误(在Chrome63和64beta中)。具体来说,部署的应用程序(使用chromeremotedebugger)抛出以下错误:Failedtoloadmodulescript:Theserverrespondedwithanon-JavaScriptMIMEtypeof"".StrictMIMEtypecheckingisenforcedformodulescriptsperHTMLspec.我使用的是标准ES6导入,

javascript - 流: is not a polymorphic type

我刚刚整合了flow第一次静态检查我的javascript源。我正在为发现的错误流程而苦苦挣扎,但我无法自行解决。它是关于使用es6类和继承的。更具体地说,我创建了一些react组件,它们应该继承一些方法。我有一个标注组件,它表示未指定严重性的标注消息。为了使事情更简单一些,我考虑提供一个ErrorMessage组件,它继承了Callout组件。我的类(class)结构如下:React.Component>AbstractComponent(hereiaddsomeproject-widehelpersfori18nandsoon>Callout(thisrepresentsapret

javascript - 在创建单例实例时传递选项的 TypeScript 模式

我有一个TypeScript单例类classMySingleton{privatestatic_instance:MySingleton;privateconstructor();publicstaticgetInstance(){if(!MySingleton._instance){MySingleton._instance=newMySingleton();}returnMySingleton._instance;}}现在,我想在创建这个单例实例时传递一些选项。例如,将实例模式设置为生产模式的选项。因此,这可以通过让getInstance接受一个传播到构造函数的选项对象来实现。那么

javascript - 将 object.constructor 与其构造函数和 instanceof 进行比较有什么区别?

这个问题在这里已经有了答案:What'sthedifferencebetweenusinginstanceofandcheckingtheconstructor?(2个答案)Differencebetweeninstanceofandconstructorproperty(2个答案)关闭4年前。假设我有一个Dog构造函数functionDog(name){this.name=name;}我有一个构造函数的实例constmyDog=newDog('Charlie');据我最近了解到,有两种方法可以检查myDog是否是Dog的实例:1.console.log(myDoginstanceof

javascript - 为什么在 JavaScript 中使用 TypeScript 类需要 `.default` ?

我有一个TypeScript类,它是npm包的一部分。为了维护,我将类分解成多个类,并通过继承构建最终的导出类。我认为这对我的问题无关紧要,但我认为最好公开这一点信息。我在ChildClass.ts中这样定义类:exportdefaultChildClassextendsParentClass{…}Tsc的outDir为“build”。package.json文件有一个属性"main":"build/ChildClass.js"同时使用npmlink和npmpack我可以部署包并在TypeScript演示包中毫无问题地使用它。但是,如果我尝试在JavaScript演示中使用该包,con

javascript - JavaScript 可以在 window.open 上设置 mime 类型吗

我正在尝试在Javascript中打开一个调试窗口。Javascript将向调试窗口传递一个JSON字符串JSONView(aChromeextension)应该以格式良好的方式显示。要使其正常工作,MIME类型必须是“application/json”。是否可以将mime类型和JSON字符串作为参数发送到window.open?我认为必须在window.open上设置MIME类型和内容,否则JSONView将不会被触发。我确实试过了,但是没有用:varx=window.open("about:blank",'x');vardoc=x.document;doc.open("applic

Javascript 类型错误,不是一个函数

我遇到了一个奇怪的问题,我似乎无法解决!它是我正在编写的一个大框架的一部分,但我写了一些具有相同问题的测试代码。请参阅以下内容:!function($,window,undefined){//BASEFUNCTIONvartest=function(selector,context){returnnewtest.fn.init(selector,context);};//SELECTORFUNCTIONStest.fn={selector:undefined,init:function(selector,context){//UsejQuerytobuildselectorobject