Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用包装在比较符号中的数据类型(例如大于和小于)初始化对象有什么好处?_Javascript_Reactjs_Typescript_Promise - Fatal编程技术网

Javascript 使用包装在比较符号中的数据类型(例如大于和小于)初始化对象有什么好处?

Javascript 使用包装在比较符号中的数据类型(例如大于和小于)初始化对象有什么好处?,javascript,reactjs,typescript,promise,Javascript,Reactjs,Typescript,Promise,我有两个应用程序,一个用TypeScript编写,另一个用React编写。在复制TypeScript中现有的功能以开发React中的工作版本时,浏览器控制台会抛出语法错误,并对transpiler错误发出警告 react是否支持以下语法:数组或?请解释为什么或者为什么不 我经常在promise/observable代码中看到这些符号,现在在本例中,这些符号用于文件。以这种方式实例化对象的目的是什么?与简单地实例化空数组相比,它有什么优势?语法会对集合中可能存在的元素进行类型化 数组将是Emplo

我有两个应用程序,一个用TypeScript编写,另一个用React编写。在复制TypeScript中现有的功能以开发React中的工作版本时,浏览器控制台会抛出语法错误,并对transpiler错误发出警告

react是否支持以下语法:数组或?请解释为什么或者为什么不


我经常在promise/observable代码中看到这些符号,现在在本例中,这些符号用于文件。以这种方式实例化对象的目的是什么?与简单地实例化空数组相比,它有什么优势?

语法会对集合中可能存在的元素进行类型化

数组将是Employee类型的对象数组。如果试图将非Employee类型的对象放入该数组,则会出现错误

如果你看到这个:

Array<Array<Employee>>
这将是一个数组,它只能包含包含Employee类型对象的数组

等等。请注意,您也可以使用接口:

Array<ISerializable>
任何依赖于语言的旧东西,我不认为每种具有这种类型功能的语言都有:

Array<?>, Array<any> (which I believe is the TS syntax)

等等。很多语言都使用这个

Angular2使用TypeScript,而React使用普通Javascript。就像名称TypeScript所说的那样,它是基于使代码更健壮的类型来开发的,因为您不能像Javascript那样为数组分配任何项目,但它们必须是文件类型

斜括号用于两种情况:

泛型 在泛型类型的类型声明中。泛型类型允许您编写类似RemoveObject:void的方法,其中T是任何特定类型。这允许您确保类型安全,而无需事先知道类型。在此上下文中,类型可以是任何类型脚本类型接口、类型别名、类、值类型等

泛型是微软从C语言中提升出来的一个功能,它非常强大。你可以阅读更多关于他们的信息,我强烈鼓励你阅读更多关于他们的信息

类型铸造 将值强制转换为其他类型。有两种方法可以做到这一点:

let obj : {} = {};
let stringed : string = obj as string; // Preferred Syntax
let stringed2 : string  = <string> obj; // Alternate Syntax

TypeScript未在React中使用,但在Angular 2中使用。我正在复制旧的Angular 2作品,用React库重写。@Tumen\t很多人将TypeScript与React一起使用。谢谢,这很有帮助。您可以使用的接口示例是什么?我很难将其可视化。您可以创建的任何接口,或者已经存在的接口。如果你不熟悉一般的接口,那肯定是你想要查找的OOP概念。感谢链接,我以前不知道泛型。当你使用let-obj:{}={}对let-obj={}进行强制转换时有什么不同?@DanielO'Quinn所以这不是强制转换,而是在变量初始化期间声明对象类型。TS通常会尝试从分配的值推断变量类型。通常不会将空对象文字指定为类型,但当您希望确保推断的类型是您想要的类型时,可以声明变量类型。