## 函数的回顾
1. function xx() { ... } xx()
2. function xx(s1:number,s2:number) { ... } xx(1,2) 侧重于做了
3. function xx(s1:number,s2:number) { ... return 数据 } let re:number = xx(1,2)
终极形态的函数侧重于处理数据,返回一个结果
函数的参数可选
默认形参是必须的参数 => 一定要填实参
设置参数是可选 不是必选 加个问号 ?
一旦参数是可选的,没有传数据时,通过 || 提供一个备选参数
function sayHi(name?:string) {
console.log('你好',name || '同学')
}
sayHi()
sayHi('小王')
可选参数 - 默认值
function add(num1:number=0,num2:number=0) {
let result = num1+num2
return result
}
function add(num1:number=0,num2:number=0) {
return num1+num2
}
函数的另一种形式
箭头函数 let xx = () => {}
let xx = (num1:number=0,num2:number=0) => {
let result = num1+num2
return result
}
对象
对象是存储多个数据的容器
数组中的数据是有序的,适用于同类型的数据
对象中的数据是没有序的,对象中的数据都是有准确意义的
定义对象的类型
interface Person {
name: string
age: number
}
定义对象
let ym: Person = {
name: '杨幂',
age: 19
}
取出对象的某一个数据 对象名.属性名
console.log('姓名',ym.name)
对象-方法
描述对象的具体行为
## 有返回值的
interface 接口名称 {
方法名:(参数:类型) => 返回值类型
}
## 没有返回值的
interface 接口名称 {
方法名:( ) => void
}
对象名.方法名()
对象名.方法名(参数值)
方法的本质是函数,对象里的函数叫方法
联合类型 类型1|类型2|类型3|...
let score: number|string = 100
score = 'A'
联合类型的妙用: 一般用于一组可选值 eg: 性别,方向
let gender: '男'|'女'|'保密' = '男'
课堂作业:
声明一个变量,只能存储 鸿蒙,Python,测试,Java
联合类型可读性差,可以使用枚举类型
枚举类型
语法: enum 类型名 {}
enum GenderType {
// 提供所有的选项,且前面加个 名字=
man = 1,
woman = 0
}
let gender: GenderType = GenderType.man
console.log('选择的性别是',gender)
知识点思维导图