- 博客(802)
- 资源 (8)
- 收藏
- 关注
原创 35、TS 关于泛类约束Partial<T>、Required<T>、Readonly<T>
源码中Partial是如何实现的?这段源码使用关键字 in 和操作符 keyof 定义了一个映射类型。in 关键字,这个关键字的作用是用于映射类型的。在这里 in 表示的是迭代联合类型中的每个属性,而泛型 P 就表示这些属性这样,Partial 类型中的成员就与传入的泛型 T 中的成员一致了。属性名称后的?表示可选类型,属性值则是取的泛型 T 中的属性值。由此,便将泛型 T 中的属性转变成了可选属性。
2024-03-07 20:33:58 162
原创 33、ts中type关键字
1、type 作用是给类型起个新名字2、type支持基本类型、联合类型、元祖及其它任何你需要的手写类型,常用于联合类型。
2024-03-07 15:24:12 216
原创 30、类和接口
接口概念接口和类之间有何关系? 可以使用接口来约束类接口继承接口接口还可以继承类接口为什么可以继承类内层原因:接口为什么可以继承类用得出的结论解释最初的demo接口继承类的一些限制
2024-03-04 20:09:19 739
原创 tsc : 无法加载文件 C:\Users\Administrat\AppData\Roaming\npm\tsc.ps 1,因为在此系统上禁止运行脚本
时,是因为我们的系统执行策略(Execution Policy)禁止在系统上运行PowerShell脚本。,则说明系统禁止执行任何PowerShell脚本。后缀的WIndows PowerShell。2、查看系统的执行策略,如果输出结果是。3、使用以下命令来将执行策略设置为。,允许您在系统上执行本地脚本。
2024-03-04 16:15:37 246
原创 绝对定位的一些特性;CSS绝对定位absolute
毋庸置疑,按钮肯定得使用绝对定位,但是绝对定位的定位位置肯定不能写死,因为这个是个公共组件,黄色区域和蓝色区域的宽度都是不定的,支持动态传入的。
2024-03-04 14:47:41 192
原创 关于拖拽功能
提及拖拽,我们去实践的时候,总是想要依赖第三方工具,有些场景下第三方拖拽库确实方便;有些场景使用第三方拖拽库反而复杂化了可以拖动dom在浏览器中进行移动。过程叙述:用户可使用鼠标选择可拖拽(draggable)元素,将元素拖拽到可放置(droppable)元素,并释放鼠标按钮以放置这些元素。拖拽操作期间,会有一个可拖拽元素的半透明快照跟随着鼠标指针。
2024-03-03 20:36:02 719
原创 setTimeout参数解读
还要注意的是,如果值不是数字,隐含的类型强制转换会静默地对该值进行转换,使其成为一个数字——这可能导致意想不到的、令人惊讶的结果;见非数字延迟值被静默地强制转化为数字以了解一个示例。定时器在执行指定的函数或代码之前应该等待的时间,单位是毫秒。如果省略该参数,则使用值 0,意味着“立即”执行,或者更准确地说,在下一个事件循环执行。注意,无论是哪种情况,实际延迟可能会比预期长一些。附加参数,一旦定时器到期,它们会作为参数传递给。当定时器到期后,将要执行的 function。
2024-02-24 14:54:30 199
原创 Proxy实现单例
ES6 原生提供 Proxy 构造函数,用来生成 Proxy 实例。Proxy 对象的所有用法,都是上面这种形式,不同的只是handler参数的写法。其中,new Proxy()表示生成一个Proxy实例,target参数表示所要拦截的目标对象,handler参数也是一个对象,用来定制拦截行为。
2024-01-03 17:34:06 700
原创 29、TS中的类
通过编译后的代码可以得出结论:TypeScript 编译之后的代码中,并没有限制 private 属性在外部的可访问性,private 仅在ts编译阶段报错,最终js的执行并不会报错。2、可以看到,继承的话,在父类中已有的方法,可以在子类中重写,Lion 就重写了Animal 的sayHi方法。4、super在子类的其余地方调用,可以理解为父类的实例对象,可以调用父类的方法。仔细看存取器,存取器可不是方法,不能供实例调用的,实例去调用会报错的。类的静态方法在类上,类可以调用;
2023-11-14 07:00:00 828
原创 27、字符串字面量类型
作用: 字符串字面量类型用来约束取值只能是某几个字符串中的一个语法:上例中,使用 type 定了一个字符串字面量类型 EventNames,它只能取三种字符串中的一种。注意,类型别名与字符串字面量类型都是使用 type 进行定义。
2023-10-12 19:37:09 196
原创 26、类型别名
通过demo可以看到,这东西(类型别名)不是硬通货,只是针对ts语法起作用而已,typeof “zhang” 还是会转换成string。不过确实可以让联合类型变的更加简约,避免大量的重复。顾名思义,其实就是类型类型起别名(新起一个名字)使用 type 创建类型别名。
2023-10-12 19:27:09 121
原创 25、TS内置对象
TypeScript 核心库的定义文件中定义了所有浏览器环境需要用到的类型,并且是预置在 TypeScript 中的。上面的例子中,Math.pow 必须接受两个 number 类型的参数。/***/});所以 e 被推断成了 MouseEvent,而 MouseEvent 是没有 targetCurrent 属性的,所以报错了。注意,TypeScript 核心库的定义中不包含 Node.js 部分。
2023-10-12 17:22:33 143
原创 2023.9.23(对这一年过去几个月的总结)
今年基本上就看了一本书《剑来》,很不错,书中有很多的道理,好像是一个人的一生,但是又不仅仅是一个人的一生,一个人的点点滴滴的成长吧,受益匪浅。今年在技术学习上的目标,达成率是在太低,但看文章输出来说,今天才输出了几篇文章,当然,工作忙是一方面,可是时间挤一挤还是有的,做的很不好,很不好,接下来要侧重技术。这个时间点杭州正在开亚运会,周六,大周,难得的大周,早上在公司健身房跑完步,就来工位看书了。年初(二月十四号正式复工的时候)体重大概是79kg,现在体重是65kg,算是有一点点的成功。
2023-09-23 13:25:29 112
原创 24、TS中的类型断言
上面的例子中,我们也可以通过[扩展 window 的类型(TODO)][]解决这个错误,不过如果只是临时的增加 foo 属性,as any 会更加方便。总之,一方面不能滥用 as any,另一方面也不要完全否定它的作用,
2023-08-08 19:29:29 264
原创 v-bind=“[$attrs, $props]“, v-on=“$listeners“,v-bind=“$attrs“,v-bind=“$props“,使用情景
v-bind="[$attrs, $props]", v-on="$listeners",v-bind="$attrs",v-bind="$props",使用情景
2023-07-18 10:07:23 105 1
原创 在项目中查看仓库的git地址
但是此时有个同事,本地是有这个代码的,让这个同事帮忙指向一下这个命令就可以知道项目的git地址了。需要看一个项目中代码,很尴尬,找不到项目的git地址,
2023-05-15 10:34:18 2066 1
原创 vue中的监听会不会引起死循环
场景:监听一个数组的变化,这个数组其实是比较混杂的(但是肯定会有ID属性),但是我想在这个数组值在某种数量之下,可以都有一个Name属性。代码如下: 阅读以下代码就可以有一个体会。
2023-04-25 21:04:53 621
原创 23、ts中的函数,ts对函数进行约束,可选参数,参数默认值, 剩余参数,函数重载
1、可以使用接口的方式来定义一个函数需要符合的形状2、采用函数表达式 ,接口定义函数的方式时,对等号左侧进行类型限制,可以保证以后对函数名赋值时保证参数个数、参数类型、返回值类型不变。== - 1 }
2023-04-06 20:04:50 890
原创 22、数组,数组泛型,类数组,any在数组中的用处
arguments 实际上是一个类数组,不能用普通的数组方式来描述,应该用接口。表示这是一个纯number类型的数组,如果放入非number类型的,就会报错。
2023-04-06 15:52:36 471
原创 循环的大数量级性能尝试,for循环速度和性能,map循环速度和性能,set循环速度和性能
【代码】循环的大数量级性能尝试,for循环速度和性能,map循环速度和性能,set循环速度和性能。
2023-03-31 17:24:05 119
原创 git 冲突: Please, commit your changes or stash them before you can merge. git stash
git 冲突: Please, commit your changes or stash them before you can merge.
2023-03-16 09:27:54 274
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人