2024年Web前端最新ts学习笔记七:泛型,web开发环节

最后

在面试前我花了三个月时间刷了很多大厂面试题,最近做了一个整理并分类,主要内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

  • HTML5新特性,语义化

  • 浏览器的标准模式和怪异模式

  • xhtml和html的区别

  • 使用data-的好处

  • meta标签

  • canvas

  • HTML废弃的标签

  • IE6 bug,和一些定位写法

  • css js放置位置和原因

  • 什么是渐进式渲染

  • html模板语言

  • meta viewport原理

// }

// return result

// }

// let r = createArray(5, ‘abc’);

// interface IMyArr {

// [key: number]: T

// }

// interface ICreateArray { // interface后面的 类型 和 函数前面的类型的区别, 如果放在函数前 表示使用函数的时候确定了类型, 放在接口的后面 表示是使用接口的时候确定类型

// (x: K, y: T): IMyArr;

// }

// // type ICreateArray = (x: number, y: T)=>Array; // 如果泛型不传参是unkown类型

// const createArray: ICreateArray = (times: number, value: T): Array => {

// let result = [];

// for (let i = 0; i < times; i++) {

// result.push(value)

// }

// return result

// }

// createArray(3, ‘abc’);

// 2.多个泛型 元组进行类型交换

// const swap = <T, K>(tuple: [T, K]): [K, T] => { // 元组是特殊的数组

// return [tuple[1], tuple[0]]

// }

// let r = swap([{}, ‘xx’]); // => [123,‘abc’] 我能确定只有两项

// const sum = (a: T, b: T): T => { // 约束对象

// return (a + b) as T

// }

// sum(‘a’,‘v’)

// 3) 泛型约束 主要强调类型中必须包含某个属性

type withLen = { length: number }

const computeArrayLength = <T extends withLen, K extends withLen>(arr1: T, arr2: K): number => {

return arr1.length + arr2.length

}

computeArrayLength(‘123’, { length: 3 })

const getVal = <T extends object, K extends keyof T>(obj: T, key: K) => {

if (typeof obj !== ‘object’) {

return

}

}

type T1 = keyof { a: 1, b: 2 }

type T2 = keyof string

type T3 = keyof any; // string |number | symbol

getVal({ a: 1, b: 2 }, ‘a’)

自学几个月前端,为什么感觉什么都没学到??


这种现象在很多的初学者和自学前端的同学中是比较的常见的。

因为自学走的弯路是比较的多的,会踩很多的坑,学习的过程中是比较的迷茫的。

最重要的是,在学习的过程中,不知道每个部分该学哪些知识点,学到什么程度才算好,学了能做什么。

很多自学的朋友往往都是自己去找资料学习的,资料上有的或许就学到了,资料上没有的或许就没有学到。

这就会给人一个错误的信息就是,我把资料上的学完了,估计也-就差不多的了。

但是真的是这样的吗?非也,因为很多人找的资料就是很基础的。学完了也就是掌握一点基础的东西。分享给你一份前端分析路线,你可以参考。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

还有很多的同学在学习的过程中一味的追求学的速度,很快速的刷视频,写了后面忘了前面,最后什么都没有学到,什么都知道,但是什么都不懂,要具体说,也说不出个所以然。

所以学习编程一定要注重实践操作,练习敲代码的时间一定要多余看视频的时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值