|
@@ -96,4 +96,58 @@
|
|
|
|
|
|
//声明一个void变量没什么用 只能赋值 null undefined
|
|
|
let aaa: void = undefined
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //object类型
|
|
|
+ //定义一个object类型 参数是object类型 返回值也是object类型
|
|
|
+ function getObj(obj:object): object{
|
|
|
+ console.log(obj)
|
|
|
+ return {
|
|
|
+ name: 'xiaoming',
|
|
|
+ age: 30
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(getObj({name:'zs',age:18}))
|
|
|
+
|
|
|
+ //联合类型 表示取值可以为多种类型
|
|
|
+ //需求1:定义一个函数得到一个数组或者字符串
|
|
|
+ // function toString(x: number | string): string{
|
|
|
+ // return x.toString()
|
|
|
+ // }
|
|
|
+ // console.log(toString('123'))
|
|
|
+
|
|
|
+ //需求2: 定义一个函数得到一个数组或者字符串的长度
|
|
|
+ function toString(x: number | string): number{
|
|
|
+ // return x.toString().length
|
|
|
+ // if(x.length){
|
|
|
+ // return x.length
|
|
|
+ // } else {
|
|
|
+ // return x.toString().length
|
|
|
+ // }
|
|
|
+
|
|
|
+ if((<string>x).length){
|
|
|
+ return (x as string).length
|
|
|
+ } else {
|
|
|
+ return x.toString().length
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(toString(123))
|
|
|
+
|
|
|
+ //类型断言 告诉编译器 我知道我自己要什么类型
|
|
|
+ /*
|
|
|
+ 方式1: <类型>值
|
|
|
+ 方式2: 值 as 类型
|
|
|
+ */
|
|
|
+
|
|
|
+ // 类型推断 TS会在没有明确指定类型的时候推测出一个类型
|
|
|
+ // let c1 = 100
|
|
|
+ // c1 = 'xiaoming'
|
|
|
+
|
|
|
+ let c1
|
|
|
+ c1 = 100
|
|
|
+ console.log(c1)
|
|
|
+ c1 = 'xiaoming'
|
|
|
+ console.log(c1)
|
|
|
+
|
|
|
})()
|