代码拉取完成,页面将自动刷新
同步操作将从 韩旭明/grammarLearning 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/**
* TypeScript 中为非常多的内置对象都预留了泛型坑位,
*/
//1、在 Promise 中,在填充 Promise 的泛型以后,其内部的 resolve 方法也自动填充了泛型
function p() {
return new Promise<boolean>((resolve, reject) => {
resolve(true);
});
}
//2、在数组 Array<T> 当中,其泛型参数代表数组的元素类型,几乎贯穿所有的数组方法:
const arr: Array<number> = [1, 2, 3];
arr.push('hanxuming');
arr.includes('hanxuming');
/**
* 数组 find 的方法:
*/
// number | undefined
arr.find(() => false);
/**
* 数组 reduce 的方法,reduce 方法是相对特殊的一个,它的类型声明存在几种不同的重载:
*
* 当不传入初始值时,泛型参数 会从 数组的元素类型 中进行填充。
* 当传入初始值时,如果 初始值的类型 与 数组元素类型 一致,则使用 数组的元素类型 进行填充。
* 比如第一种 reduce 调用。
*
* 当传入一个数组类型的初始值,reduce 的泛型参数会默认从这个初始值推导出的类型进行填充,如这里是 never[]。
* 比如第二种 reduce 调用,
*
* 第三种情况是 信息不足,无法推导出正确的类型,可以 手动传入泛型参数 来解决:
*/
// 第一种 reduce
arr.reduce((prev, curr, idx, arr) => {
return prev;
}, 1);
// 第二种 reduce
// 报错:不能将 number 类型的值赋值给 never 类型
arr.reduce((prev, curr, idx, arr) => {
return [...prev, curr]
}, []);
// 第三种 reduce
arr.reduce<number[]>((prev, curr, idx, arr) => {
return prev;
}, []);
//export {}:解决“无法重新声明块范围变量”错误提示问题
export { }
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。