-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ts笔记:More on Functions #67
Milestone
Comments
泛型为了解决支持不同类型参数的通用函数的声明问题。我们声明一个类型的变量:泛型,用来指代未知的类型。可以理解为一元一次数学方程中的x变量: 2x+1=5, 只要x能满足函数方程就可以,x可以是任何类型。
也可以约束泛型坍塌为具有某些特性的类型。
更严谨的可以手动指定类型(有时候ts没那么“聪明”可以自己推断出正确的类型)
|
泛型的实践指南类型参数下移(泛型尽可能下沉到类型的叶子结点, 别太“泛”了)
这里 第二种写法跟any一样,泛型白用 尽可能减少泛型的数量(能用一个 就不要用两个0
这里Func就是一个没啥用的泛型 泛型变量应该出现2次(如果这个变量不会用到第二次,那为啥要声明这个泛型呢?)反例:Str 不如直接用string
|
在函数中声明this大部分时候ts通过推断来判断this指向谁,但是js里this的指向的判定规则还蛮复杂的,ts支持我们告诉他this应该是谁
这种技巧非常适合在回调函数的类型声明中使用, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
函数声明
两种:
这种允许声明函数属性:
允许重载声明
允许声明构造函数
那么既支持new操作符也支持直接调用的函数,可以利用重载+new声明:
The text was updated successfully, but these errors were encountered: