Typescript其实我觉得就是强语法类型的javascript。
当然,他也不彻底算是一种强类型的语言,他有类型推断这个功能。
我们在开发过程中,最好是给其都显式的声明类型,增加代码的一个健壮性,有规矩才成方圆。
我们在定义函数的时候,也是需要制定输入参数及返回值的类型的。
1:简单类型定义
/**
* 简单类型定义
*/
function getTotal(one:number,two:number):number
{
return one + two;
}
console.log(getTotal(1,2));
2:函数无返回值时定义方法
没有返回值的函数,我们就可以给他一个类型注解void,代表没有任何返回值。
/**
* 函数无返回值时定义方法
* @param one
* @param two
*/
function neverReturn(one:number,two:number):void
{
console.log(one + two);
}
neverReturn(10,96);
3:never 返回值类型
如果一个函数是永远也执行不完的,就可以定义返回值为never,那什么样的函数是永远也执行不完的那?我们先来写一个这样的函数(比如执行执行的时候,抛出了异常,这时候就无法执行完了)。
function errorFuntion(): never {
throw new Error();
console.log("Hello World");
}
还有一种是一直循环,也是我们常说的死循环,这样也运行不完,比如下面的代码:
function forNever(): never {
while (true) {}
console.log("Hello JSPang");
}
4:函数参数为对象(解构)时
这个是这篇最有意思的地方。当你的函数接受的参数是一个对象的时候,你会怎么写呢?
interface person{
age:number,
name:string
}
let one_person:person = {
age:100,
name:"zhangsanfeng"
}
/**
* 函数参数为对象(解构)时
* @param one_person
*/
function getperson(one_person:person):string
{
return one_person.age +'-'+one_person.name;
}
console.log(getperson(one_person));
参数的类型以及函数的返回值类型一定要定义好。
有规矩才成方圆。
有好的建议,请在下方输入你的评论。
欢迎访问个人博客
https://guanchao.site