云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

谷歌云_崇文网站建设_测评

小七 141 0

服务器高防香港_香港_物联网什么意思

TypeScript 3.0已经过时了!它对类型系统、编译器和语言服务进行了增强。此版本附带以下内容:项目引用允许TypeScript项目依赖于其他TypeScript项目tsconfig.json文件引用其他文件tsconfig.json文件文件夹。在JSX中支持defaultProps。rest参数和带有可选元素的扩展表达式中的元组。新的未知的顶部类型!它是任何类型安全的对应物。在这篇博文中,大数据培训班,大数据的商业价值,我们将关注元组和未知类型的增强!请随意查阅手册,以深入了解TypeScript项目参考资料。我对打字越来越感兴趣。好奇你是否:(民意测验)-莎拉·德拉斯纳(@Sarah iu edo)2018年4月17日TypeScript快速设置如果您想跟随本文中的示例,可以按照以下快速步骤启动并运行TypeScript3.0项目。如果您喜欢在沙盒环境中测试TypeScript3.0,那么可以使用TypeScript playground来代替。设置TypeScript项目在您选择的任何目录中,创建一个ts3目录并将其设为当前目录:mkdir ts3cd ts3一旦ts3是当前工作目录,初始化节点.js使用默认值的项目:npm初始-y接下来,安装编译和监视TypeScript文件中的更改所需的核心包:npm i typescript nodemon ts node--保存开发TypeScript项目需要tsconfig.json文件文件。这可以通过两种方式完成:使用global tsc命令或使用npx tsc。我建议使用npx。npm>=5.2中提供了npx命令,它允许您创建一个tsconfig.json文件文件如下:npx tsc—初始化这里,npx执行本地安装的本地typescript包。如果希望使用全局包执行此操作,请确保全局安装TypeScript并运行以下命令:tsc—初始化完成后,您将在命令行中看到以下消息:已成功创建tsconfig.json文件文件。你也会有一个tsconfig.json文件启用了合理启动默认值的文件。对于本教程的范围,这些配置设置已经足够了。编译、运行和监视TypeScript在一个与构建相关的一切都是自动化的开发环境中,需要一种简单的方法来编译、运行和监视TypeScript文件。这可以通过nodemon和ts节点来完成:nodemon:它是一个工具,数据可视化大屏,可以监视节点.js应用程序目录并自动重新启动服务器。ts节点:这是一个TypeScript执行和REPL节点.js,支持源映射。与typescript@>=2.0一起使用。这两个包的可执行文件需要通过npm脚本一起运行。在代码编辑器或IDE中,更新包.json具体如下:{// ..."脚本":{"watch":"nodemon--watch'src/**/*.ts'--exec'ts node'src"/索引.ts"}// ...}手表脚本做了很多艰苦的工作:nodemon--监视"src/**/*.ts"-exec"ts node"src/索引.tsnodemon可执行文件接受--watch参数。--watch选项后跟一个字符串,该字符串指定需要监视的目录,并遵循glob模式。接下来,传递--exec选项。--exec选项用于运行非节点脚本。nodemon将读取正在运行的脚本的文件扩展名,并监视该扩展名,而不是.js。在本例中,--exec运行ts节点。ts node以node+tsc的形式执行任何传递的TypeScript文件。在这种情况下,它接收并执行src/索引.ts.在其他一些设置中,可以使用两个不同的shell:一个用于编译和监视TypeScript文件,另一个用于通过node或nodemon运行生成的JavaScript文件。最后,在项目目录ts3下创建一个src文件夹,并创建索引.ts在里面。运行TypeScript项目安装了所有依赖项并设置了脚本,就可以运行项目了。在shell中执行以下命令:npm运行监视关于nodemon的消息将会出现。因为索引.ts目前为空,shell中没有其他输出。你们都准备好了!现在和我一起探讨typescript3有哪些新特性。TypeScript TupleWare什么是TypeScript元组?TypeScript3对如何使用元组进行了一些更改。因此,让我们快速回顾TypeScript元组的基础知识。tuple是一种TypeScript类型,它的工作方式类似于数组,但有一些特殊的注意事项:数组的元素数是固定的。元素的类型是已知的。数组元素的类型不必相同。例如,通过元组,我们可以将一个值表示为一对字符串和一个布尔值。我们去吧索引.ts并用以下代码填充它://声明元组let选项:[string,boolean];//正确初始化选项=大写",真];如果我们将option的值改为[true,"uppercase"],我们将得到一个错误://声明元组let选项:[string,boolean];//正确初始化选项=大写",真];//价值顺序错误选项=[真,"大写"];src公司/索引.ts(8,11):错误TS2322:类型"true"不能分配给类型"string"。src公司/索引.ts(8,17):错误TS2322:类型"string"不能分配给类型"boolean"。让我们从代码中删除不正确的示例,并继续理解,对于元组,值的顺序是至关重要的。依赖顺序会使代码难以阅读、维护和使用。出于这个原因,使用元组和以顺序方式相互关联的数据是一个好主意。这样,按顺序访问元素是可预测和预期模式的一部分。点的坐标是顺序数据的例子。三维坐标总是以三位数形式出现:(x,y,淘客返利app,z)在笛卡尔平面上,点的顺序总是连续的。我们可以将这个三维坐标表示为以下元组:键入Point3D=[数字,数字,数字];因此,Point3D[0]、Point3D[1]和Point3D[2]在逻辑上是可理解的,并且比其他脱节的数据更容易映射。来源另一方面,松散关联的数据是不有益的。例如,我们可以有三个客户数据,分别是email、phoneNumber和dateOfBirth。customerData[0]、customerData[1]和customerData[2]对各自代表的数据类型只字不提。我们需要跟踪代码或阅读文档以了解数据是如何映射的。这不是一个理想的场景,使用接口会更好。对元组来说就是这样!它们为我们提供了一个固定大小的容器,可以存储各种类型的值。现在,让我们看看TypeScript在3.0版本中使用元组的变化。在Rest参数中使用TypeScript元组在JavaScript中,rest参数语法允许我们"将不确定数量的参数表示为一个数组"然而,正如我们前面所回顾的,在TypeScript中,元组是可以包含不同类型元素的特殊数组。在typescript3中,rest参数语法允许我们将有限数量的不同类型的参数表示为元组。rest参数将元组的元素扩展为离散参数。以下面的函数签名为例:声明函数示例(…args:[string,boolean,number]):void;这里,args参数是一个元组类型,包含string、boolean和number类型的三个元素。使用rest参数语法(…),args的扩展方式使上面的函数签名等效于此:声明函数示例(args_0:string,args_1:boolean,args_2:number):void;要访问函数体中的args_0、args_1和args_2,我们将使用数组表示法:args[0]、args[1]和args[2]。rest参数语法的目标是将"参数溢出"收集到一个结构中:数组或元组。实际上,我们可以按如下方式调用示例函数:示例("TypeScript example",true,100);TypeScript将把它打包到下面的元组中,因为第一次定义的示例只接受一个参数:TypeScript示例",true,100];然后rest参数语法将其解压到参数列表中,大数据在线,并使用与元组名称args[0]相同的rest参数名称的数组索引表示法方便地访问函数体。使用Point3D元组示例,我们可以定义如下函数:声明函数draw(…point3D:[number,number,number]):void;如前所述,我们将按如下方式访问每个坐标点:point3D[0]代表x,point3D[1]代表y,point3D[2]代表z。这与仅仅传递一个数组有何不同?元组类型强制我们传递x、y和z的数字,而数组可以为空。如果我们没有向draw函数精确地传递3个数字,元组将抛出一个错误。使用TypeScript元组扩展表达式rest参数语法对于spread操作符来说非常熟悉;但是,它们非常不同。如前所述,rest参数语法将参数收集到单个变量中,然后在其变量名下扩展它们。另一方面扩展一个对象的数组。在typescript3.0中,spread操作符还可以扩展元组的元素。让我们用Point3D元组来看看这一点。让我们替换中的代码索引.ts并填充以下内容:键入Point3D=[数字,数字,数字];const draw=(…point3D:point3D)=>{控制台.log(点3d);};第10点,坐标=20点;抽签(10,20);绘制(XYZ坐标[0],XYZ坐标[1],XYZ坐标[2]);绘制(…XYZ坐标);我们创建一个Point3D来表示(10,20,10)坐标,并将其存储在xyzCoordinate常量中。请注意,我们有三种方法将点传递给draw函数:以文字形式传递值:画(10,20,10);将索引传递到相应的xyzCoordinate元组:绘制(XYZ坐标[0],XYZ坐标[1],XYZ坐标[2]);美国