d.ts文件如果加了import/export,就不能全局使用了,除非把声明放在 declare global 里面 扩展库的模块,以axios为例: 如果想给window加...
d.ts文件如果加了import/export,就不能全局使用了,除非把声明放在 declare global 里面 扩展库的模块,以axios为例: 如果想给window加...
递归 infer可以理解为引用,也可以理解为声明变量,通常出现在条件类型,与 extends 一起使用 实践: 元祖体操:模式匹配和infer 字符串体操 函数常用工具类型:...
成员可见性: public:类外可见(默认就是public),类内及子类也都可访问 private:仅类内可见,this.xxx,但类型擦除后,如果人家用js引用,还是可以访...
基础声明:和interface很像 区别: interface只有成员的类型没有实现以及初始化 class需要同时有成员的类型和实现 上述声明简化:每个参数都要加 publi...
一个函数如果被new使用,那么它就是构造函数 这里的prototype是为了给 const obj = new f1()生成的对象用的,即obj.__proto__ === ...
函数的本质是推后执行的,部分待定的一段代码 泛型的本质是推后执行的,部分待定的类型 T extends string的意思是T是string的子集或者T和string正好重合...
索引签名和 in(映射类型) 的声明区别 ?本质上是 类型 | undefined readonly类似于const,只能限定地址不变 函数三种声明方式: 函数柯里化:red...
type类型兼容image.png ts获取类型:typeof 接口的类型兼容image.png 函数参数的类型兼容 参数个数image.png 参数类型的兼容image.p...
交叉类型&:交集 interface使用extends的话,发现有类型冲突会直接冲突,因此在定义可扩展的类型时最好用interface 函数的交集会得到参数的并集 具体理解 ...
联合类型 |,是求并集 注意:image.png 针对联合类型,有时需要进行类型收窄才能继续 typeof a === 'xxx':只能判断基本类型以及function ar...
type是类型别名,并不是真正的类型 type 声明一个带属性的函数: interface是声明一个接口,描述对象的属性 interface描述函数 interface 描述...
enum只用来声明数字就行了,字符串用联合类型最好,enum的值不能是对象类型 enum 用 enum 处理权限问题
描述对象类型: Object 范围太广 object :Object除去基本类型之外的类型 索引签名 Record Class or Constructor 索引签名: Re...
解决方法:自定义useNonNullContextValue解决
函数以问号结尾的,说明返回值是布尔值 return高级写法 执行命令rspec会测试spec目录下的所有文件 优化点:尽量把controller写短一点,如果有跟数据有关的操...
Exception Handling: how to raise an Exception: how to handle an Exception: example: Enu...
相同数字的object_id不会变,相同字符串会变 ruby interpreter(解释器)将所有的symbol存放在一张symbol table里,symbol很快,但是...
Class .new:实例化的关键字 initialize:当前类实例化的时候会首先被调用,可以不定义 class和module可以重新打开 方法可以重定义,前一个会被覆盖 ...