TypeScript 4.9 发布!
关注肇庆道教灵符网请符我们
(本文阅读时间:9分钟)
本文节选翻译自 Daniel Rosenwasser 的博客
Type 是一种通过添加类型和类型检查构建在 Java 之上的语言肇庆道教灵符网请符。类型可以描述诸如对象的形状、如何调用函数以及属性是否可以为null 或undefined 之类的东西。Type 可以检查这些类型,以确保我们不会在程序中出错,这样我们就可以自信地编码。它还可以为编辑器中的自动完成、转到定义和重构等其他工具提供支持。事实上,如果您使用过Visual Studio 或VS Code for Java 等编辑器,您其实已经体验过由Type 提供的支持了!
satisfies 运算符
Type 开发人员经常面临两难境地:我们既要确保某些表达式匹配某些类型,又要保留该表达式的最具体类型以用于推理目的肇庆道教灵符网请符。
新的 satisfies 运算符让我们验证表达式的类型是否匹配某种类型,而不更改该表达式的结果类型肇庆道教灵符网请符。例如,我们可以使用 satisfies 来验证 palette 的所有属性是否与 string | number[] 兼容:
typeColors = "red"| "green"| "blue";
typeRGB = [red: number, green: number, blue: number];
constpalette = { red: [ 255, 0, 0], green: "#00ff00", bleu: [ 0, 0, 255] // ~~~~ The typo is now caught!} satisfies RecordColors, string| RGB;
// Both of these methods are still accessible!constredComponent = palette.red.at( 0); constgreenNormalized = palette.green.toUpperCase;
使用 in 运算符缩小未列出属性的范围
作为开发人员,我们经常需要处理在运行时不完全已知的值肇庆道教灵符网请符。事实上,我们通常不知道属性是否存在,无论我们是从服务器获得响应还是读取配置文件。Java 的 in 运算符可以检查对象上是否存在属性。
以前,Type 允许我们缩小任何未明确列出属性的类型的范围肇庆道教灵符网请符。
interfaceRGB { red: number; green: number; blue: number; }
interfaceHSV { hue: number; saturation: number; value: number; }
functionsetColor( color: RGB | HSV) { if( "hue"incolor) { // 'color' now has the type HSV}// ...}
在这里,RGB 类型没有列出色调并缩小范围,留给我们的是 HSV 类型肇庆道教灵符网请符。
Type 4.9 使 in 运算符在缩小未列出属性的类型时更加强大肇庆道教灵符网请符。该语言不会按原样保留它们,而是将它们的类型与 Record"propertykeybeingchecked", unknown 相交。
interfaceContext { packageJSON: unknown;}
functiontryGetPackageName( context: Context): string| undefined{ constpackageJSON = context.packageJSON; // Check to see if we have an object.if(packageJSON typeofpackageJSON === "object") { // Check to see if it has a string name property.if( "name"inpackageJSON typeofpackageJSON.name === "string") { // Just works!returnpackageJSON.name; }}returnundefined; }
Type 4.9 还加强了一些关于如何使用 in 的检查,确保左侧可分配给类型 string | number | symbol,右侧可分配给对象肇庆道教灵符网请符。这有助于检查我们是否使用了有效的属性键,而不是不小心检查基元。
自动访问器
Type 4.9 支持 ECMA 中即将推出的功能,称为自动访问器肇庆道教灵符网请符。自动访问器的声明就像类的属性一样,除了它们是用 accessor 关键字声明。
classPerson { accessor name: string; constructor( name: string) { this.name = name; }}
检查 NaN 是否相等
Java 开发人员的一个主要难题是使用内置的相等运算符检查值 NaN肇庆道教灵符网请符。对于某些背景,NaN 是一个特殊的数值,代表“不是数字”。没有什么能等于 NaN——即使是 NaN!但至少对称,一切总是不等于 NaN。
严格来说,这不是特定于 Java 的问题,因为任何包含 IEEE754 浮点数的语言都具有相同的行为肇庆道教灵符网请符。但是 Java 的主要数字类型是浮点数,而 Java 中的数字解析通常会导致 NaN。反过来,检查 NaN 最终变得相当普遍,正确的方法是使用 Number.isNaN——但正如我们提到的,很多人不小心最终使用 someValue === NaN 进行检查。
Type 现在与 NaN 直接比较时会出错,并且会建议使用 Number.isNaN 的一些变体肇庆道教灵符网请符。
functionvalidate( someValue: number) { returnsomeValue !== NaN; // ~~~~~~~~~~~~~~~~~// error: This condition will always return 'true'.// Did you mean '!Number.isNaN(someValue)'?}
我们认为,此更改应该严格有助于捕获初学者错误,类似于 Type 当前在与对象和数组文字进行比较时发出错误的方式肇庆道教灵符网请符。
FileWatching 使用文件系统事件
在 Type 4.9 中,文件监视默认由文件系统事件提供支持,只有在我们未能设置基于事件的监视程序时才会回退到轮询肇庆道教灵符网请符。对于大多数开发人员来说,当以 watch 模式运行或使用 Type 支持的编辑器(如 Visual Studio 或 VS Code)运行时,这应该会提供更少的资源密集型体验。
文件监视的工作方式仍然可以通过环境变量和 watchOptions 进行配置肇庆道教灵符网请符。一些编辑器如 VS Code 可以独立支持 watchOptions。使用源代码驻留在网络文件系统(如 NFS 和 SMB)上的更奇特设置的开发人员可能需要选择回到旧行为。不过,如果服务器具有合理的处理能力,则启用 SSH 并远程运行 Type 可能会更好,这样它就可以直接访问本地文件。VS Code 有很多远程扩展来简化这件事。
编辑器的“Remove Unused Imports”和“Sort Imports”命令
在 Type 4.3 中,我们引入了一个名为“Sort Imports”的命令,它只会对文件中的导入进行排序,但不会删除它们——并且会像这样重写文件肇庆道教灵符网请符。
import{ bar, foo } from"./helper"; import{ HoneyBadger, Moose, Zebra } from"./zoo";
letx: Moose | HoneyBadger = foo;
“Sort Imports”的警告是,在 Visual Studio Code 中,此功能仅可用作保存时命令,而不是可手动触发的命令肇庆道教灵符网请符。
Type 4.9 增加了另一半,现在提供了“Remove Unused Imports”肇庆道教灵符网请符。Type 现在将删除未使用的导入名称和语句,但会单独保留相对顺序。
import{ Moose, HoneyBadger } from"./zoo"; import{ foo } from"./helper";
letx: Moose | HoneyBadger = foo;
所有希望使用任一命令的编辑器都可以使用此功能;但值得注意的是,Visual Studio Code(1.73 及更高版本)将内置支持,并将通过其命令面板显示这些命令肇庆道教灵符网请符。
更多 Type 4.9 发布信息请前往原博客查看肇庆道教灵符网请符!
免费测八字 今年运势 请加师父微信
免费看八字运势 请加师父微信: sanqingge8
寻找符咒,灵符,符咒网,道教符咒网,灵符网站,灵符网官网,购买符咒请灵符,这里有各种手绘开光符咒:财运符,财运符咒,财运亨通符咒,五路财神符咒,太岁符咒,化太岁符咒,回心转意符咒,护身符咒,文昌符咒,学业灵符符,开运符咒,转运灵符,桃花符,月老姻缘符咒,偏财符,五鬼运财符咒,化小人符咒,事业符咒,升官符咒,去病符咒,去疾符咒,健康符咒,平安符咒,夫妻和合符,情感和合符咒。
咨询道教符咒 咨询师父微信: sanqingge8
符咒类型如下:
01.财运符-增财运补财库开运 02.太岁符-化解不利顺利度过 03. 回心符-挽回感情增缘复合 04. 护身符-辟邪镇宅转运护身 05. 学业符 -魁星点斗文昌帝君 06. 开运符-开运转运驱除霉运 07. 桃花符-桃花早到月老姻缘 08. 偏财符-五鬼运财偏财运势 09 .小人符-化解小人是非口舌 10 .事业符-事业有成无往不利 11. 去疾符-药王化疾祛病消愈 12. 健康符-身心健康得偿所愿 13. 平安符-诸事顺利健康平安 14 .和合符-夫妻情感姻缘和合 15.定制符-心有所想 专属定制
咨询道教法事 咨询师父微信:sanqingge8
01.化解太岁法事——解太岁、谢太岁 02.升官晋职法事 ——官运亨通提升政绩 03.文昌考试法事—— 开窍聪慧考试顺利 04.偿还阴债法事—— 生债阴宅逢凶化吉 05.开财门补财库—— 增加财运助旺事业 06.助种生基法事—— 病魔缠身增寿增运 07.催子受孕法事—— 生子布阵子女满堂 08.开运转运法事—— 改运天命一帆风顺 09.催财发财法事—— 偏财运势正财持久 10.化解童子法事—— 姻缘顺利仙灵护佑 11.化解小人法事—— 化解小人防人陷害 12.小儿平安法事—— 驱邪回魂活泼健康 13.超度亡灵法事—— 祭奠亲人早登极乐 14.超度宠物法事—— 人类朋友转生脱苦 15.超度婴灵法事—— 打胎坠胎消灾除难 16.祈福许愿法事—— 许愿还愿祈求祈福
本文链接:https://fuzhouwang.org/index.php/post/11292.html
转载声明:本站文章中有转载或采集其他网站内容, 如有转载的文章涉及到您的权益及版权,还麻烦及时联系我们,我们将及时删除,谢谢配合。