- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 Typescript配置文件(tsconfig.json)详解系列六:allowImportingTsExtensions
如果不使用的时候,在导入文件的时候需要加上typescript编译后的文件后缀。如果使用了就不能输出编译文件,只能输出声明文件(*.d.ts)。
2024-08-05 21:39:45
1353
原创 Typescript配置文件(tsconfig.json)详解系列五:allowArbitraryExtensions
本文使用的Typescript版本为5.5.2。
2024-07-29 21:34:33
850
原创 Typescript配置文件(tsconfig.json)详解系列四:esModuleInterop和allowSyntheticDefaultImports
allowSyntheticDefaultImports可以让这种使用ESM模块系统导入default时,目标模块系统没有default的类型检查通过(只影响类型检查,不影响编译结果)。esModuleInterop设置为true的时候,allowSyntheticDefaultImports如果没有定义,会自动跟着设置为true。esModuleInterop会自动注入工具函数,将没有default的模块系统封装一层,让使用ESM模块系统导入default的结果符合预期。
2024-07-25 00:01:41
1455
原创 Chrome浏览器devtools使用系列三:Sensors模拟传感器
本文讲解的版本信息如下,如果使用的版本和讲解的版本差距过大,可能会有不同的地方。
2024-06-26 23:54:31
1723
原创 JavaScript API性能对比系列二:深拷贝和浅拷贝性能对比(二)
1. 如果能够选择浅拷贝的情况下请尽量选择浅拷贝(尤其是对象或者数组中都是基础类型,务必使用浅拷贝)。2. 浅拷贝如果是对象请使用lodash的clone方法,数组的话请使用扩展运算符[...arr]。3. 深拷贝中,我最后新加的测试场景【深拷贝】手动for + 手动赋值的性能实在是太好了,所以如果能够手动赋值还是尽量手动赋值。i++) {})4. 深拷贝中 在几千条以下的时候性能要比loadash的cloneDeep性能好。数据量大的情况下反之。
2024-06-26 21:45:58
1065
1
原创 Typescript配置文件(tsconfig.json)详解系列二:noLib
现在为了tsc能正常编译,我需要补全一下类型声明。我定义了一个no.lib.d.ts文件,然后把lib.es5.d.ts和lib.es2015.promise.d.ts的内容粘贴过来(图省事儿)。同时target设置为ES5。此时tsc编译不会报错了。但是我的IDE(Webstorm)仍然提示类型报错。(该问题不打算继续深入调查了)
2024-06-23 00:21:08
381
原创 Typescript配置文件(tsconfig.json)详解系列一:target和lib
我想Typescript设置的初衷也是希望你写代码的时候尽量不要使用和target不匹配的API(不匹配的API虽然可以向下兼容但是性能会差些)。那么ES6的一些新的API我是使用不了,如Promise。如果TS经过编译后生成的.js文件要直接在浏览器上使用,那么target一定要选择需要兼容浏览器的最低版本。如果你使用了比target中定义的javascript更高版本的语法,那么编译后的代码会自动帮你向下降级。这个参数需要配合target来使用,指定不同的target,会自动引入对应的lib库。
2024-06-22 23:03:21
2850
原创 Chrome浏览器devtools使用系列二:模拟不同设备和视口
本文讲解的版本信息如下,如果使用的版本和讲解的版本差距过大,可能会有不同的地方。本。
2024-06-20 22:04:52
4496
原创 Chrome浏览器devtools使用系列一:Elements
本文讲解的版本信息如下,如果使用的版本和讲解的版本差距过大,可能会有不同的地方。
2024-06-20 20:47:30
1162
git使用+原理简要说明手册 新手必备
2017-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人