草庐IT

learning-typescript-by-examples

全部标签

javascript - 什么是 "PropTypes.oneOf"的 TypeScript 等效项(将变量限制为值的子集)

在React中,我可以将变量限制为值的子集,例如PropTypes.oneOf(['Home','About']),我如何在TypeScript中执行此操作?PS:我没有在React中使用TypeScript。 最佳答案 您可以通过定义uniontype来组合静态字符串(或任何常规类型):typeSomeType='Home'|'About';或者在一个界面中:interfaceSomeType{prop:'Home'|'About';}当然你也可以组合其他类型:typeSomeType=string|boolean;

javascript - 误报 "Lexical declarations require ECMAScript 6"和 "TypeScript 1.x feature. Current language is 1.4"错误消息

在将TypeScript更新到版本1.7(目前最新版本)后,我一直看到Resharper指出错误,例如在使用namespace、const和let,即使这个版本的TypeScript应该支持它们。例如:TypeScript1.x功能。当前语言是1.4和词法声明(let和const)需要ECMAScript6编译器目标。当前目标是ECMAScript5。 最佳答案 我的Resharper(10.0.1)版本似乎无法检测到TypeScript版本。要解决此问题,您可以手动指定版本。由于此版本的Resharper(发布时为最新版本)不支持

javascript - 为什么 TypeScript 会为类生成 IIFE?

这个问题在这里已经有了答案:UnderstandingJavascriptgeneratedbyTypescriptcompiler(2个答案)关闭5年前。查看此TypeScript代码:classGreeter{greet(){}}它围绕构造函数和所有原型(prototype)函数声明生成一个IIFE(立即调用函数表达式),例如:varGreeter=(function(){functionGreeter(){}Greeter.prototype.greet=function(){};returnGreeter;}());这里的优势是什么?每当我读到IIFE时,我都会看到很多关于定义

javascript - 在 TypeScript 中使用 React.findDOMNode

我正在关注ReactTutorial并卡在如何使用React.findDOMNode上.这是我的代码:exportclassCommentFormextendsReact.Component{handleSubmit(e:React.FormEvent){e.preventDefault();console.log(React.findDOMNode(this.refs['author']));}render(){returnthis.handleSubmit(e)}>;}}调用console.log(React.findDOMNode(this.refs['author']));还我

javascript - define 未在 nodejs typescript 应用程序中定义

我正在使用typescript开发nodejs应用程序,我在其中编写了一个文件server.js作为休闲:importexpress=require('express');importmongoose=require('mongoose');letapp=express();app.set('port',process.env.PORT||3000);//Setportto3000ortheprovidedPORTvariable/***Startapp*/app.listen(app.get('port'),function(){console.log(`Applisteningon

Javascript,CSS : Get element by style attribute

我愿意:找到页面中所有元素的样式属性(例如:所有具有color:#333;的元素)为所有这些更改此属性(例如从color:#333更改为color:#444)。您对此有什么建议吗? 最佳答案 我的建议是尽可能避免这样做。相反,使用一个类来分配颜色值,然后您可以使用该类而不是颜色值来查找元素。据我所知,没有选择器(甚至在CSS3中也没有)可用于查询特定样式值,这意味着遍历所有元素(或者它看起来像你可以将其限制为具有style属性的所有元素)并查看element.style.color属性。现在,问题是,即使您在style属性中编写了c

javascript - 为什么 typescript 允许在声明变量之前使用它?

Typescript不会为以下代码给出编译器错误:varb=a+10;//Whynocompilationerrorherevara=10;alert(b.toString());我希望第一行是一个错误,因为我到现在为止还没有声明或初始化vara。如果我删除第二行,我会得到编译器错误。我知道它在JavaScript中有效,但我希望TypeScript给我编译错误或警告。 最佳答案 因为hoistingbehavior可能会令人困惑。你的代码实际上意味着。vara,bb=a+10a=10alert(b.toString())有正当理由

TypeScript 文件中的 JavaScript 智能感知

是否只能通过引用具有自己编码接口(interface)的.ts文件来获取TypeScript文件中的智能感知?是否有针对现有JavaScript库的解决方案? 最佳答案 您可以通过在脚本顶部使用外部脚本引用指令来获取其他TypeScript文件的IntelliSense:///附带说明一下,TypeScriptIntelliSense引用指令不像JavaScript引用指令那样支持波浪号运算符。例如,如果您的脚本位于“~/Scripts/foo/”,在JavaScript中您可以引用:///而在TypeScript中,您必须相对于当

javascript - typescript :从当前类的另一个方法调用方法

据推测,我有这个类:ClassExampleClass{publicfirstMethod(){//Dosomething}publicsecondMethod(){//DosomethingwithinvokefirstMethod}}如何正确调用另一个方法的第一个方法?(简单的“firstMethod()”不起作用)。 最佳答案 使用this:publicsecondMethod(){this.firstMethod();}如果要强制绑定(bind)到实例,请使用=>运算符:secondMethod=()=>{this.firs

javascript - 为什么 react 路由器抛出 'Cannot GET/example' 错误?

我正在学习React,我需要使用ReactRoutes添加一些路由。我已经使用npminstallreact-router安装了react-router。这是我必须声明路由的mainjsimportReactfrom'react';import{ReactDOM,render}from'react-dom';importAppfrom'./Components/AppComponent';importExamplefrom'./Components/ExampleComponent';import{Router,Route,IndexRoute,Link,IndexLink,brows