TS常用语法
export { }
let age: number = 18
let name: string = 'Andy'
let num: undefined = undefined
let isVal: boolean = true
let arr: number[] = [1, 3, 5]
let arr2: Array<string> = ['1', '2']
let str: (number | string | boolean)[] = ['1', 2, false]
let str1: number | string[] = 3
type ArrType = number | string | boolean | null | undefined
let a: ArrType[] = ['1', 2, false]
function add(num1: number, num2: number): string {
return String(num1 + num2)
}
type addFn = (num1: number, num2: number) => string
const add2: addFn = (num1, num2) => {
return String(num1 + num2)
}
const sayHello = () => { }
const sayHi = (): void => { }
const s = (): undefined => {
return undefined
}
const aaa = (a: number, b?: number) => {
return b && a + b
}
aaa(9)
aaa(1, 3)
let person: {} = {}
let person1: { name: string; sayHi: () => void } = {
name: 'Tom',
sayHi() { },
}
let person2: {
name: string
sayHi(): void
} = {
name: 'jack',
sayHi() { },
}
interface People {
name: string
age: number
sayHi: () => void
}
let persons: People = {
name: 'jack',
age: 19,
sayHi() { },
}
interface Point2D {
x: number
y: number
}
interface Point3D extends Point2D {
z: number
}
let point: Point3D = {
x: 0,
y: 0,
z: 0,
}
type TPoint2D = {
x: number
y: number
}
type TPoint3D = TPoint2D & {
z: number
}
let tpoint: TPoint3D = {
x: 0,
y: 0,
z: 0,
}
let ab = 123
let func = (n1: number, n2: number) => {
return n1 + n2
}
let car: '汽车'
car = '汽车'
let fruit = 'apple'
const tree = '柳树'
let obj4: any = {
age: 18,
}
obj4.bar = '123'
obj4 = '123'
obj4()
const aLink = document.getElementById('link') as HTMLAnchorElement
type User = {
name: string
age: number
}
type Data<T> = {
msg: string
code: number
data: T
}
type UserData = Data<User>
const data1: UserData = {
msg: '请求成功',
code: 200,
data: {
name: 'Tom',
age: 18,
},
}
interface Idfn<T> {
id: () => T
ids: () => T[]
}
const change: Idfn<string> = {
id: () => '123',
ids: () => ['1', '2', '3'],
}
const fn5 = <T>(a: T): T => {
return a
}
const num0 = fn5<number>(1)
enum Sex {
'女' = 1,
'男'
}
const sex: Sex = Sex.男
interface myObj {
[key: number | string]: number
}
let myTestObj: myObj = {
1: 1,
age: 18
}