type Texta = {
text:string,
time: number
}
interface Xiao {
name:string,
age:number,
[things:string]: any,
say?:(obj:Texta)=>void
}
let arr:Array<Xiao> = []
function getPerson({
name,age}:Xiao):Array<Xiao>{
arr[0] = {
name,age}
return arr
}
let xiao:Xiao = {
name:'小明',
age: 12
}
getPerson({
...xiao})
class Pe {
hello () {
}
}
class Person extends Pe {
public name:string
private age:number
protected money: number
static sex:string
constructor () {
super()
}
hello () {
super.hello()
}
}
type Perso = {
name:string,
age:number,
sex?: number
}
enum sexType {
m = 1,
w = 0
}
type arrayItem = string | number
let ar:arrayItem[] = ['12',12]
let yuan: [string,string,number] = ['1','1',1]
let br:Perso = {
name: '12',
age: 12,
sex: sexType.m
}
let cr:Xiao = {
name:'12',
age:12,
xin: '心动了',
xina: '心动了',
say: function({
}:Texta) {
}
}
cr.say({
text:'12',time:12})
type funItem = () => void
let er:funItem = function () {
}
er()
namespace My {
export let a:number = 1
export let b:()=>void = function () {
}
}
let b:number = My.a
let c:object = new My.b()
interface arrLen {
length:number
}
type arra = (number | string) []
let ae:arra = [1,2,1]
class Len <T extends arrLen> {
constructor () {
}
arr(ar:T){
return ar.length
}
}
const a = new Len<string>()