类型编程typescript-TypeScript,JavaScript 的编程语言超集

2023-08-29 0 4,560 百度已收录

TypeScript 是由 Google 开发的一种免费开源编程语言。 它是一个开源、跨平台的 Java 超集,具有可以编译为纯 Java 的类型系统,然后在任何浏览器和其他环境中运行。 它使开发人员能够使用一些未来 Java 标准(ECMA6 和 7)的功能。 TypeScript 向 Java 添加了可选的静态类型、类和模块,允许小型 Java 应用程序使用更好的工具并具有更清晰的结构。

类型的作用

Type 扩展了 Java 的语法,因此任何现有的 Java 程序都可以在 Type 下运行而无需更改。 Type是为小型应用程序的开发而设计的,编译时形成Java,以保证兼容性。

Type 支持将类型信息添加到现有 Java 库的头文件,从而扩展了其对 jQuery、MongoDB、Node.js 和 D3.js 等流行库的用途。

结合Google开发的开源代码编辑器VisualStudioCode,使用TypeScript开发项目有以下优点:

可以使用最新的ES2017语言特性。

非常精确的代码提示。

编辑代码时进行动态错误检测可以防止明显的错误类型编程typescript,例如错误输入函数名称。

非常精确的代码构建能力。

非常方便的断点调试功能。

编辑器集成调试功能。

句子特征

课程

套接字接口

模块 模块

类型注释 类型注释

编译时类型检查 编译时类型检查

Type中的几种基本类型:

boolean 是布尔值类型,例如letisDone:Boolean=false

number是数字类型,如letdecimal:number=6;

string是字符串类型,如letcolor:string='blue'

形参类型,如letlist:number[]=[1,2,3]

元组类型,如letx:[string,number]=["hello",10]

枚举类型,如 enumColor{Red,Green,Blue};letc:Color=Color.Green

any 为任意类型,如 letnotSure:any=4;notSure="maybeastringinstead"

void 为空类型,如letunusable:void=undefined

空且未定义

never 表示没有值的类型,例如 functionerror(message:string):never{thrownewError(message);}

多种类型可以用|分隔,例如number|string表示可以是数字或者字符串类型

箭头函数(类似于 C# 中的 Lambda 表达式)

插座(接口)

类型编程typescript-TypeScript,JavaScript 的编程语言超集

下面介绍一些常见的socket方式:

//定义一个具有颜色和宽度属性的对象

接口超级配置{

颜色: 字符串;

宽度:数量;

//readonly表示只读,其属性不能重新参数化

接口点{

只读x:数字;

只读:数字;

//? 表示该属性是可选的,

//[propName:string]:any 表示允许使用obj[xxx]等动态属性

接口SquareConfig{

颜色?:字符串;

宽度?:数量;

[propName:字符串]:任意;

// 函数套接字

接口搜索函数{

(来源:字符串,子字符串:字符串):布尔值;

事实上,Type的socket有很多种表示方式。 详细信息请参考这里:TypeHankbook-Interfaces

功能

以下是几种功能套接字的定义形式:

//普通函数

函数添加(a:数字,b:数字):数字{

返回+b;

//函数参数

函数 readFile(文件:字符串,回调:(err:错误|null,数据:缓冲区)=>void){

FS。 readFile(文件,回调);

//通过type语句定义类型

typeCallbackFunction=(err:Error|null,data:Buffer)=>void;

函数 readFile(文件:字符串,回调:CallbackFunction){

FS。 readFile(文件,回调);

//通过接口语句定义类型

接口回调函数{

(错误:错误|空,数据:缓冲区):无效;

函数 readFile(文件:字符串,回调:CallbackFunction){

FS。 readFile(文件,回调);

以上定义方法都有细微的差别,仍然需要深入Type实践后合理使用。 详细信息可以在这里找到:TypeHandbook-Functions

种类

Type的类定义与Java相同,减少了public、private、protected、readonly等访问控制修饰符:

类人{

受保护的名称:字符串;

构造函数(名称:字符串){

this.name=名称;

类Employee扩展Person{

私人部门:字符串;

构造函数(名称:字符串类型编程typescript,部门:字符串){

超级(名称);

this.部门=部门;

公共 getElevatorPitch(){

return `你好,我的名字是 ${this.name},我的工作是 ${this.department}。`;

需要注意的是,这个修饰符只在Type程序中有效。 如果直接使用Java,则可以在类外部访问声明为private或protected的类成员,也可以更改声明为readonly的成员变量。

如果没有指定访问控制关键字,则默认为 public。

子类

Type的类库和socket具有很强的类型检测能力,同时又兼有Java语言的动态特性。 下面是一个使用类库的简单示例:

函数身份(arg:T):T {

返回参数;

constmap = newMap();

地图.set('a',123);

函数睡眠(毫秒:数字):承诺{

返回 newPromise((解决,拒绝)=>{

setTimeout(()=>解析(毫秒),毫秒);

});

Type2.0之后,减少了很多与类库相关的句型,比如KextendskeyofT,对于初学者来说不太容易理解,一般情况下可能用不到。 详细信息请参考这里:TypeHandbook-Generics

以上就是Type对比Java的核心内容。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 typescript 类型编程typescript-TypeScript,JavaScript 的编程语言超集 https://www.wkzy.net/game/170389.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务