博文

目前显示的是 七月, 2022的博文

type-challenges刷题总结

图片
type-challenges 中级及以下难度题目二刷完成,简单总结下解题过程中用到的思路和知识点。 1. Utility Types (1) 修改对象属性:Partial<ObjectType>、Required<ObjectType>、Readonly<ObjectType> (2) 构造新的对象:Pick<ObjectType, Keys>、Omit<ObjectType, Keys>、Record<Keys, Type> (3) 构造新的联合类型:Exclude<UnionType, Members>、Extract<UnionType, Members>、NonNullable<TypeIncludesNull> (4) 函数相关:Parameters<FunctionType>、ReturnType<FunctionType> (5) 字符串相关:Uppercase<StringType>、Lowercase<StringType>、Capitalize<StringType>、Uncapitalize<StringType> 2. 类型的展开/遍历 (1) 数组/元组:Array[number] (2) 对象:keyof Object (3) 联合类型:Union extends any ? XXX : never (4) 借助泛型实现递归: 3. 一致性判断 (1) 判断是否为never: (2) 判断是否完全一致: 4. 数学计算 (1) 构造数组,利用数组'length'属性实现±1功能,进而扩展加减计算。 (2) 涉及较大数值加减时,TS会提示泛型实例化递归嵌套过深。可构造Multiply10类型,并将数字转为字符串进行处理,递归时每发现一位新字符,即将此前结果×10,再加上新字符,作为本轮递归的结果。 5. 对象属性处理 (1) 删除对象属性: (2) 去除readonly: 6. 类型谓词 7. 类型断言

Ketcher源码学习-源码解读-辅助工具(1)-变量缩写汇总

A 1. aam:atom-to-atom mapping,原子到原子映射。 2. aid:atom id,原子的id。 B 1. bid:bond id,化学键的id。 C 1. cml:chemical markup language,化学标记语言。 2. ctab:connection table,化学结构信息表。 D E 1. ext:extension,扩展。 F 1. fg:functional group,官能团。 2. frag:fragment,片段。 G H I J K L M 1. mime:multipurpose Internet mail extensions,媒体类型。 N 1. nei:neighbor,相邻的。 O 1. op:operation,操作。 P Q R 1. rbb:related bounding box,元素边界框。 2. re-:render,用于渲染过程的类。 3. rxn:reaction,化学反应。 S 1. SRU:structural repeating unit,重复结构单元。 2. st:set,组。 T 1. tmpl:template,模板结构 (例如:苯环)。 U V 1. Vec2:vector2,二维向量。 2. visel:visualization,可视化。 W X Y Z

Ketcher源码学习-源码解读-项目架构(2)-package /ketcher-react/

图片
我承认烂尾了……