基本数据类型
// 常用基本类型测试
let pName:string = '张三'
let pAge:number = 18
let pMarried:boolean = false
console.log(pName,pAge,pMarried)
// number类型
let decLiteral:number = 6 // 十进制
console.log(decLiteral);
// 数组类型
// 字符串数组(数组中只能存放字符串)
// let hobby:string[] = ['吃饭','睡觉','打豆豆']
let hobby:Array<string> = ['吃饭','睡觉','打豆豆']
hobby[3] = '222'
console.log(hobby);
// 数字数组
// let scores:number[] =[124,222,123,132]
let scores:Array<number> =[124,222,123,132]
console.log(scores);
// 元组 : 一个元组可以用于保存一个事物不同类型的属性
// 可以通过索引获取元素
let p1:[string,number,boolean] = ['李四',19,false]
// 枚举类型
// 枚举类型的作用是用一些友好的名称来表示一些变量值
// 声明一个枚举Color,包含三个值
enum Color {Red='#FF0000', Green='#00FF00' ,Blue='#0000FF'}
// 访问
console.log(Color.Red); // #FF0000
// 枚举的细节
// 如果没有主动的通过等号“=”为枚举名赋值,则默认值为下标
enum Status { NoPublish, Publish }
console.log(Status.NoPublish); // 0
// 枚举还支持通过value 反查 名称【例如:通过 1 反查 Publish】
console.log(Status[1]) // Publish
// Any类型
// 声明一个字符串,模拟从服务器端获取到的数据
let resp:string = '{ "code":200, "data":1453439.56 }'
let obj = JSON.parse(resp)
console.log(obj);
let amount:number = obj.data
console.log(amount.toFixed(1));// 1453439.6
console.log(typeof(amount.toFixed(1))); //string
// 类型断言
// 假设从服务端返回了一组数据
resp = '{ "code":200, "data":["吃", "喝", "单杠"]}'
let respObj = JSON.parse(resp) // 响应对象
// 此处需要清楚的告诉TS,data的数据类型,就可以使用 类型断言语法
let data1 = respObj.data as string[]
let data2 = <string[]> respObj.data;
console.log(data1.join(', '))
console.log(data2.join(', '))
类、对象、面向对象编程
使用代码描述事物:
// 使用一堆基本数据类型的变量描述一个复杂类型的具体的事物
let num:number= 10
let b:boolean = true
let uname:string = '张三'
// 使用自定义类型来描述复杂事物的类型
let p:Person = new Person()
let a:Pig = new Pig()
let c:Book = new Book()
面向对象编程思想的本质就是将一些零散的变量与函数组织在一起形成一个新的类型,通过自定义类型 创建符合类型模板的对象,针对对象进行编程的编程模式。
自定义类型
class Greeter{
greeting:string;
constructor(message:string){
this.greeting = message
}
greet(){
return 'hello,'+ this.greeting;
}
}
680





