2023-06-11
深入对象索引签名(Index Signature)我们已经很熟悉了
12345678type Hash = { [key: stirng]: unknown; length: number;}type List { [key: number]: unknown; length: number;}
映射类型(M...
Read More
2023-06-10
为什么要兼容?
因为实际工作中,往往无法类型一致
假设我们现在需要设计一个接受参数为 一个对象包涵3个属性 的函数,但实际数据缺拥有更多属性,我们很容易写出以下代码:
1234567const data = { a: 1, b: 2, c: 3, d: 4}const newData = lodash.pick(data, [...
Read More
2023-06-10
交叉类型(Intersection Types)(交集)1type A = string & number
很显然 A 的结果是 never,因为字符串和数字是两种完全不同的东西,所以一般交叉类型,我们不会用在普通类上
12345678type 有左手的人 = { left: string;}type 有右手的人 = ...
Read More
2023-06-10
JS 可以对值进行加减运算如果把 TS 的类型系统的当作一门语言,TS 可以对类型进行各种运算吗?如果有,那么 TS 类型系统有那些运算呢?
联合类型(union type)(也叫做并集)栗子🌰1234type A1 = number;type B1 = string;type C1 = A1 | B1;const c1: C1 = 42;
上述代码...
Read More
2023-06-04
何时用enum类型当前端遇到这种需求的时候:
前端需要显示后端返回的状态 1,2,3,4,还要传输这个值回去,
但是我们经常会忘记这个值是什么意思,这个时候就可以使用 enum
🌰:二进制权限
1234567891011121314151617enum Permission { None = 0, Read = 1 << 0,...
Read More
2023-06-04
JS/TS 中有哪些数据(data)类型(type)
JS
null, undefined, string, number, boolean, bigint, symbol, obejct(含 Array、Function、Date…)
TS
以上所有,加上 void, never, enum, unknown, any,再加上自定义类型 ty...
Read More
2023-06-04
类型擦除如何运行 TypeScript 用一张图就可以说明
如何运行一段 JS 代码(图左),只需要放进 Chrome 或者 Node 中即可
但是如果只加了一点类型 number,再放进 Chrome 或者 Node 则会报错,所以我们需要把 ts 变成 js,然后再运行 ,这个过程就叫做类型擦除。
如何进行类型擦除
npm i -g esbu...
Read More
2023-05-05
人们总是在短期高估技术在长期低估技术
你是一个技术人员,你会长期的高估技术吗?
即使是技术人人员本身也是这样,短期学点技术就能赚点钱,长期来说也是非常低估的,我为什么要搞十年二十年技术,我肯定要在三十岁转管理,说明技术人员并不重视技术
很多搞技术的人开始进入公司以后,就不怎么搞技术了,更愿意重视人际关系,怎么转管理,怎么搞业务,一个表现就是一年看不完一本...
Read More
2023-03-12
其实 JS 的数组可以玩的很花,但是很多人没有发现(不管你会不会,在我面前都属于不了解)
先来看5个简单的 api1234567891011121314151617181920212223242526272829const a = []a.push(1)// 1Wa.push(2)// 2a.push(100, 200)// 4a.pop()// 200...
Read More
2022-11-19
常用命令拉取代码1git clone xxx.git
创建分支12345git branch dev# orgit checkout -b dev# orgit switch -c dev
切换本地分支123git checkout dev# orgit switch dev
切换分支并关联远程分支123git checkout -b dev or...
Read More