TS基本语法(我自己看的)

//波尔值
let flag: boolean = true
//数字
let a1: number = 10  //0b二进制 //0o 八进制 //0x十六进制
//字符串
let Name: string = '屈小康'
console.log(`${
    
    Name} + ${
    
    a1}`);
//数组
let arr: number[] = [1, 2, 3]
let arr2: string[] = ['string', 'strings']
let arr3: Array<number> = [1, 2, 3, 4, 5]
//元组数据类型
let arr4: [string, number, boolean] = ['ww', 4, true]
//object
function getObj(obj: object): object {
    
    
	console.log(obj);
	return {
    
    
		name: '',
		age: 15
	}

}
//字符串 或者 数子
function getString(str: string | number): string | number {
    
    
	return 1
}

//接口类型

interface Iperson {
    
    
	name: string,
	readonly id: number  //只读属性 无法修改
	sex?: string  //可有可无 
}

const person: Iperson = {
    
    
	name: '屈小康',
	id: 1
}

console.log(person.name);

//函数类型

interface IserarchName {
    
    
	(source: string, subString: string): boolean
}
const searchFunc: IserarchName = function (source: string, subString: string): boolean {
    
    
	return source.search(subString) > -1
}
console.log(searchFunc('123456', '1'));

//类 类型

interface Ifly {
    
    
	fly(): any
}
interface Swimng {
    
    
	swimng(): any
}
//继承多个接口
class Person2 implements Ifly, Swimng {
    
    
	fly() {
    
    
		console.log(111);

	}
	swimng() {
    
    

	}
}

const person2 = new Person2()

person2.fly()
person2.swimng()

//继承多个接口
interface ManyFace extends Ifly, Swimng {
    
     }

class Person3 implements ManyFace {
    
    
	fly() {
    
    

	}
	swimng() {
    
    

	}
}
const person3 = new Person3()
person3.fly()

//class
class Person4 {
    
    
	name: string
	age: number
	constructor(name: string, age: number) {
    
    
		this.name = name
		this.age = age
	}
	sayHi(str: string) {
    
    
		console.log(`${
    
    this.name} + ' ------ '+  ${
    
    this.age}` , str);

	}
}
const person4 = new Person4('1',15)
person4.sayHi('wwww')


//继承: 类与类之间的关系
//继承后的关系
// A继承B 则 A是子类 B是基类
// 子类 可以 使用 基类(父类)的方法和属性 
class Person5 {
    
    
	name: string
	age: number
	constructor(name: string, age: number) {
    
    
		this.name = name
		this.age = age
	}
	sayHi(str: string) {
    
    
		console.log(`${
    
    this.name} + ' ------ '+  ${
    
    this.age}`, str);

	}
}
// const person5 = new Person5('1', 15)
// person5.sayHi('wwww')
//继承 Person5
class PersonSon extends Person5{
    
    
  constructor(name:string,age:number){
    
    
	  super(name , age)
  }
  sayHi(){
    
    
	  super.sayHi('来了小老弟')
  }
}

//实例化 Person5
const person5 = new Person5('1', 15)
person5.sayHi('wwww')
const person5Son = new PersonSon('1',55)
person5Son.sayHi()





猜你喜欢

转载自blog.csdn.net/qq_45557681/article/details/115188135