TypeScript概览

变更定义

//  任意数据类型
let obj:any=1

// 数组                           、
let arr:string=["str1","str2"]
let arr:Array<string>=["str1","str2"]

//  元祖类型
let arr:[string,number,boolean] = ["ts",3.18,true]

// 枚举类型
enum Flag{
  success,
  error=5,
  warn
}
console.log(Flag.success) // 0  无上一元素并且没有赋值时候取当前索引
console.log(Flag.error) // -1
console.log(Flag.warn) // 6 以上一个元素的值为基础+1
 
// 定义多个类型的
var num:number | null | undefined

var a:never 从来不会出现的值?                    

函数

//  无返回值
function run(speed:number):void{
console.log(222)
}
// 匿名函数
var run = ():string=>{
return 'str'
}

// 可选参数 必须放在必选参数的后边
function getInfo( normalParam?:number):string{
 if(normalParam){
 }else{
 }
}

// 默认参数
var run = (name:string="zhangsan"):void=>{
console.log(111)
}

// 剩余参数 利用三点运算符
function sum(...result:number):number{
 遍历result求和
}

function sum(a:string, ...result:number):number{
 遍历result求和
}

ts函数重载

function getInfo(name:string):string;
function getInfo(age:number):string;
function getInfo(str:any):any{
   if(typeof str === 'string'){
     return '我叫: '+str;
  }else{
     return '我的年龄是'+str
 }
}

ts中类的定义

class Person{
 name:string;
 constructor(n:string){
   this.name=n
 }
 run():void{
   console.log()
 }
}

// 继承
class Web extends Person{
 constructor(){
   super()
 }
}

// 成员变量的修饰符
/*
不加默认public
public 本类 子类 外部
protected 本类 子类
private 本类
*/

// 静态属性
static sex = "男"
// 静态方法
static print(){}


// 抽象类
abstract class Animal{
 abstract eat():any;
}

// 函数对传入json类型的参数进行约束
function printLabel(labelInfo:{label:string}):void{
 console.log()
}
printLabel(l{label:'zhangsan'}): // 正确调用方式

// 属性类接口
interface FullName{
 firstName:string;
 secondName:string;
 thirdName?:string; // 可选
}
function printInfo(info:FullName){
 console.log(info.firstName + info.secondName)
}






最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容