然后看看isSearch的类型定义:
isSearch的定义是可选属性,但是
TypeScript 中将一个参数标记为可选时,它的默认值将是
undefined
。可选参数表示你可以选择性地提供该参数,如果不提供,那么它将默认为
undefined
。
解决办法有两个:
1.
在类型定义处将可选属性的?去掉
2.
如果仍然需要使用可选属性,则在变量的调用处使用类型断言(as关键字)
[0] - [ ] - [ ] - [ ] - ...
Head(List) ^ never是列表的第一个元素
P_List . Head < string> ; // string |
undefined
(
undefined
for empty array)
P_List . Head < [ 'a' , 1 , null ] > ; // 'a'
P_List . Head < [ ] > ; // never
Tail<List>
[ ] - [0] - [0] - [0] - ..
基本数据
类型
我们都知道js有6种基本数据
类型
:布尔、数字、字符串、null、
undefined
和es6新增的Symbol + 1种引用数据
类型
:对象(包含Object、Function、Array、Date等等)
类型
。
ts作为js的超集,ts也有一套数据
类型
和上述7中数据
类型
进行一一对应。这里我们先介绍5中基本
类型
:布尔、数字、字符串、null和
undefined
,Symbol暂时不会提到。
基本数据
类型
,它有两个值:true/false。在ts中是这样表示一个bool值的:
const isD