在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
原文链接: TS初探简介TypeScript具有类型系统,且是JavaScript的超集。它可以编译成普通的JavaScript代码。 TypeScript支持任意浏览器,任意环境,任意系统并且是开源的。Ts主要用于解决那些问题:
一、环境(一)安装node install –g typescript (二)VSC
"compilerOptions":
"exclude":不包含的编译目录
参数 "args" 指代编译的范围 二、声明(一)var最常用的关键字,用来声明对象,例如 var关键存在一些弊端,例如:
(二)let为了解决 var 关键字的以上弊端,提出了 let关键字,基本用法和var关键字一样,如下: (三)const定义的变量不可以修改 三、类型
简单的true/false值
浮点型的数字
在类型后面直接使用[] 使用Array泛型
enum 类型是对js类型的一个补充,使用枚举类型可以为一组数值选择一个友好的名称
四、函数(一)完整函数类型完整函数类型包含两部分:参数类型和返回值类型 上诉写法过于复杂,ts提供类型推断,可以简化写法,如下所示 (二)参数类型
(三)Lambda和this看如下所示的代码,调用out函数的this 对象被指定为全局变量导致调用失败 在ts中,函数表达式变为使用lambda表达式( () => {} ),这样就会在函数创建的时候就指定'this'值 编译后的结果如下所示 五、类(一)结构ts中类的基本结构如图所示,在ts里,每个成员默认为public的,也存在 private 及 protected,private只能在自身类可用,protected可在继承类中使用 (二)抽象类抽象类使用abstract关键字来定义抽象类和在抽象类内部定义抽象方法,抽象类只能用派生类实例化,抽象方法必须在派生类中实现 (三)继承面向对象最基本的模式就是对类型进行继承扩展,如图所示,Dog继承了抽象类animal,实现了抽象方法say,并重写了父类中的move方法 (四)静态成员类的静态成员,这些属性存在于类本身上面而不是类的实例上 六、接口(一)结构与C#或Java里接口的基本作用一样,ts也能够用它来明确的强制一个类去符合某种契约。如下所示,Squre类实现Shape接口。 (二)继承接口可以继承多个接口,使用extends关键字来继承多个接口,如下所示 七、泛型ts像C#和Java,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据,ts中使用(<>)括起泛型类型 八、模块为了开发大型的代码程序,模块化是必须经历的一个过程。ts组织代码的方式主要包括内部使用的命名空间和外部使用的模块。 (一)命名空间当代码变得复杂的时候,要一种手段来组织代码,以便于在记录它们类型的同时还不用担心与其它对象产生命名冲突,这时候我们使用命名空间。命名空间内的代码只在命名空间内才是可见的,对外部不可见。 (二)外部模块模块在其自身的作用域里执行,在一个模块里的变量,函数,类等等在模块外部是不可见的,除非你明确地使用export形式之一导出它们。相反,如果想使用其它模块导出的变量,函数,类,接口等的时候,你必须要导入它们,可以使用import形式之一。 模块是自声明的;两个模块之间的关系是通过在文件级别上使用imports和exports建立的。 任何声明(比如变量,函数,类,类型别名或接口)都能够通过添加export关键字来导出, 可以使用以下import形式之一来导入其它模块中的导出内容。
CommonJS和AMD都有一个exports对象的概念,它包含了一个模块的所有导出内容。ts模块支持export =语法,以配合传统的CommonJS和AMD的工作流。 export =语法定义一个模块的导出对象。它可以是类,接口,命名空间,函数或枚举。 若要导入一个使用了export =的模块时,必须使用TypeScript提供的特定语法import let = require("module")。 示例编码规范
资料TypeScript Handbook(中文版) |
请发表评论