const obj: Person = { first: 'John', last: 'Thomas'};
interface Person {
first: string;
last: string;
}
要指定一个对象具有first和last属性,我们将其指定为Person类型,TypeScript For ex中是否具有类似的功能。
const Fun1:(p:Person)=>void = (p) => {
console.log('first function',JSON.stringify(p))
}
const Fun2:(p:Person)=>void = (p) => {
console.log('second function',JSON.stringify(p))
}
console.log(Fun1(obj))
console.log(Fun2(obj))
Fun1和Fun2是相同类型的函数,因此我们可以像这样在TypeScript中定义某种类型
type Function1 = (p:Person)=> void
const Fun1:Function1 = (p) => {
console.log('first function',JSON.stringify(p))
}
const Fun2:Function1 = (p) => {
console.log('second function',JSON.stringify(p))
}
console.log(Fun1(obj))
console.log(Fun2(obj))
答案 0 :(得分:0)
是的,可以通过以下两种方式在Typescript中定义自定义函数类型
第一种方式:
type SomeFunction = (arg1: string, arg2: number) => void;
第二种方式:
interface SomeFunction {
(arg1:string, arg2:number):void
}
然后我们可以在定义函数时使用此自定义函数类型,如下所示
const newFunction:SomeFunction = (arg1,arg2) => { console.log(arg1,arg2) }