
typescript学习,不断更新中
发布日期:2021-05-07 06:42:31
浏览次数:22
分类:精选文章
本文共 3824 字,大约阅读时间需要 12 分钟。
第一个ts实例
const hello : string = "hello"console. log(hello)
typescript安装
npm i -g typescript tsc -v 查看版本var message:string = "hello"console. log(messag)//test.ts文件//tsc test. ts编译ts文件//生成test.jsvar meaasge="hello"console. log(message)
用node命令执行一下
node test.js
typescript面向对象编程实例
class Site { name():void{ console.log(“roo”) }}var obj=new Site()obj.name()
TypeScript基础类型
任意类型 any 数字类型 number let n:number = 12字符串类型 string let name:string = “Jay”布尔类型 boolean let flag:boolean=true数组类型 无 let arr:number[] = [1,2] 使用数组泛型 let arr:Array=[1,2]元组 无 let x=[string,number] x=["jay",1]枚举 enum enum Color{Red,Green,Blue} let c :Color = Color.Blue console.log(c)//2void void function hello():void{ alert(“hello”)}null null 表示对象值缺失undefined undefined 初始化变量为一个未定义的值never never 其他类型,代表不会出现的值
带参数函数
function add(x:number,y:number):number { return x+y}console.log(add(1,2))
可选参数函数
function buildName( firstName:string,lastName?:string ){ if (lastName ){ return fotstName+" "+lastName }else{ return firstName }}
默认参数
function calculate(price:number , rate:number = 0.50){ }
剩余参数
function name( firstName:string, ...restOfName:string[]){ }
联合类型
var a = val : string | numberfunction display (name:string|string[]){ if(typeof name =="string"){ }else{ }}
接口
interface IPerson { firseName : string, lastName: string, sayHi : () =>string}var customer : IPerson = { firseName:"Jay", lastName:"J", sayHi: ():string => { return ""Hi baby}}
类
class Person { }class Car { //字段 engine:string; //构造函数 constructor(engine:string){ this. engine = engine } //方法 disp():void{ console. log("发动机"+this.engine) }}//创建一个对象var obj = new Car("Xxs1")//访问字段console.log ("读取型号",obj.engine)//访问方法obj. disp()
类的继承
class Shape { Area:number constructor(a:number){ this.Area = a }}class Circle extends Shape { disp ():void{ console. log("a"+this. Area) }}var obj new Circle(233)obj.disp()
Typescript 不支持多继承,但是可以链式多重继承
class Root { str:string}class Child extends Root{ }class Leaf extends Child{ }var obj = new Leaf ()obj. str="hello"console. log(obj.str)
继承父类方法重写
class PrinterClass { doPrint():void { console. log("父类") }}class StringPrinter extends PrinterClass{ doPrint():void { super. doPrint()//调用父类方法 console. log("子类") }}
static关键字
//static关键字用于定义类的数据成员为静态,静态成员可以直接通过类名调用class StaticMem { static num:number static disp():void{ console. log("num="+StaticMem.num) }}StaticMem. num=12//初始化静态变量StaticMem.disp()//调用静态方法
instanceof 运算符
//判断对象是否为指定的类型class Person { }var obj = new Person()var isPerson = obj instanceof Personconsole. log("obj对象是Person实例化来的吗"+isPerson)
访问控制修饰符
public(默认)公有,可以在任何地方被访问protected 受保护,可以被自身以及其子类和父类访问private 私有,只能被其定义所在类访问
类和接口
类可以实现接口,使用关键字implementsinterface ILoan { interest: number}class AgriLoan implements ILoan { interest: number rebate: number constructor(interest: number, rebate: number) { this. interest = interest this. rebate = rebate }}var obj = new Agriloan(10, 1)console. log("利润”+obj.interest,“抽成”+obj.rebate)
TypeScript命名空间 tsc - - out app. ts Test. ts
namespace SomeNameSpaceName { export interface ISomeInterfaceName { } export class SomeClassName { }}//在另一个空间内调用SomeNameSpaceName.SomeClassName;//如果一个命名空间在一个单独的文件,则用///引用他/////命名空间可以嵌套namespace name{ export namespane name{ }}
Typescript模块
tsc - -module comments Test. ts tsc - -module and Test. ts//文件名 SSomeInterFace.tsexport interface SomeInterFace { }//在另一个文件引入用import关键字导入import someInterfaceRef = requir("./SomeInterface")
Typescript声明文件
以 .d.ts后缀//用declare关键字定义,举例jqdeclare var jQuery:(selector: string)=> any jQuery("#foo")
声明文件或模块
declear module Module_Name{ }
引入声明文件
///
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月25日 00时43分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
来自星星的祝福(容斥+排列组合)
2019-03-06
Hmz 的女装(递推)
2019-03-06
HDU5589:Tree(莫队+01字典树)
2019-03-06
不停机替换线上代码? 你没听错,Arthas它能做到
2019-03-06
sharding-jdbc 分库分表的 4种分片策略,还蛮简单的
2019-03-06
分库分表的 9种分布式主键ID 生成方案,挺全乎的
2019-03-06
MySQL不会丢失数据的秘密,就藏在它的 7种日志里
2019-03-06
Python开发之序列化与反序列化:pickle、json模块使用详解
2019-03-06
回顾-生成 vs 判别模型-和图
2019-03-06
采坑 - 字符串的 "" 与 pd.isnull()
2019-03-06
无序列表 - 链表
2019-03-06
SQL 查询强化 - 数据准备
2019-03-06
SQL 强化练习 (四)
2019-03-06
Excel 拼接为 SQL 并打包 exe
2019-03-06
Pandas数据分析从放弃到入门
2019-03-06
Matplotlib绘制漫威英雄战力图,带你飞起来!
2019-03-06
机器学习是什么
2019-03-06
《小王子》里一些后知后觉的道理
2019-03-06
《自私的基因》总结
2019-03-06