# 一、给函数参数添加类型
说明
- 在我们定义函数的时候参数的类型是无法推断的,因为函数只是一段将要执行的代码
- 对于参数的类型只有在将要调用的时候才会知道,如果对函数参数的值没有限定的时候,就可以传递任意类型的值
- 如果当某个函数执行的是数学运算的时候我们传入的是一个字符串,那么就会发生不可预期的错误
- 例
function add(a, b) {
console.log(a b)
}
// 函数的参数没有类型,当我们传递其他类型的参数也是可的, 机会出现不可预期的错误
add('hellow', {name: '张三'})
# 使用 ts
对参数值进行限定
代码语言:javascript复制function add(a: number, b: number) {
console.log(a b)
}
// 因为限定了参数的类型,所以这里使用的时候传递了错误的参数就会报错
add('hellow', {name: '张三'})
# 参数使用联合类型来进行限定
function cmd(args: string | string[]) {
if(type args === 'string') {
console.log(args)
} else {
console.log(args)
}
}
2.
代码语言:javascript复制interface Product {
title: string
price: number
}
function printProductTitle(p: Product) {
console.log(p.title)
}
# 总结-写在最后
说明
参数的类型和之前学习的普通类型是一样的,可以是任意类型的值,包括联合类型