范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Prettier2。5发布支持TypeScript4。5新语法官文全文翻译

  首发知乎:https://zhuanlan.zhihu.com/p/438830128
  链接:Prettier 2.5: TypeScript 4.5 and MDX v2 comment syntax! · Prettier
  作者: Sosuke Suzuki (@sosukesuzuki)
  这个发布支持了 TypeScript 4.5 的新语法和 MDX v2 的注释语法!
  如果你喜欢 Prettier,同时想支持我们的工作,可以通过 OpenCollective 来支持我们,也可以支持我们其他的项目,包括 typescript-eslint,remark,和 Babel。 重要更新TypeScript使用长类型时避免在箭头函数中产生位移(Avoid extra offset in arrow function body when using long types (#11515by@kachkaevand@thorn0))
  在 Prettier 2.3.0 开始,箭头函数的类型声明可能影响函数体的压缩情况。改变类型签名的长度有可能造成更大的区别,从而导致 git 冲突的可能性。为了防止这个事情,函数体的位移以后是稳定的。
  注意:这个改变可能会影响很多你的代码。 // 输入 const MyComponentWithLongName: React.VoidFunctionComponent = ({ x, y }) => {   const a = useA();   return {x + y + a}; };  // Prettier 2.2 及以下 const MyComponentWithLongName: React.VoidFunctionComponent = ({   x,   y, }) => {   const a = useA();   return {x + y + a}; };  // Prettier 2.4 const MyComponentWithLongName: React.VoidFunctionComponent =   ({ x, y }) => {     const a = useA();     return {x + y + a};   };  // Prettier 2.5 const MyComponentWithLongName: React.VoidFunctionComponent<   MyComponentWithLongNameProps > = ({ x, y }) => {   const a = useA();   return {x + y + a}; }; 支持 TypeScript 4.5 Support TypeScript 4.5 (#11721,#11723,#11813by@sosukesuzuki)
  我们支持了 TypeScript 4.5 的新语法:
  Import 语句中的 type // 例子 import { type A } from "mod";
  私有属性 // 例子 class Foo {   #prop1;   method() {     return #prop1 in this;   } }
  Import 断言 // 例子 import obj from "./something.json" assert { type: "json" };
  处理 .mts 和 .cts
  Prettier 现在会以 TypeScript 处理 .mts 和 .cts 结尾的文件。 HTML折叠 HTML 的 class 属性到一行Collapse HTMLclassattributes onto one line (#11827by@jlongster)
  回退  #7865。
  虽然之前的这个特性对于一些 CSS 库例如 Tailwind 的用户是有用的。因为这些库会产生大量的 CSS 属性。但是我们始终没法找到合适的方法得到让我们满意的结果。我们仍然在找更好的办法来去处理大量 CSS 的问题。如果你关心这个事情,请来和我们讨论。         MDX增加对 MDX v2 注释语法的支持Add support for MDX v2 comment syntax (#11563by@wooorm)
  目前增加了对于 MDX v2注释的语法,类似 JavaScript 形式,而 MDX v1 的注释时形如 HTML 样式的。
  注意:目前 Prettier 只支持单行注释,所以{/* prettier-ignore */}可以使用,MDX v2 其他的部分还不支持。 Input: {/*A comment*/}  Prettier 2.4: {/_A comment_/}  Prettier 2.5: {/*A comment*/}其他改变JavaScript修复括号作为箭头函数返回的序列表达式时的情况Fix parentheses around sequence expression as body of arrow chain (#11593by@bakkot)
  箭头函数返回的序列表达式的括号会保留下来。之前,Prettier 会移除他们,会造成语法问题。 // 输入 const f = () => () => (0, 1);  // Prettier 2.4 const f = () => () => 0, 1;  // Prettier 2.5 const f = () => () => (0, 1);sloppy 模式的语法错误会忽略Ignore errors for sloppy mode syntax (#11750by@fisker,#11778by@sosukesuzuki)
  JavaScript 的严格模式会增加一些有用的报错来避免错误。一些错误是在解析语法时触发的。因为 Prettier 的目标是格式化代码,而不是这些代码是否能跑起来,这些跑起来正确的检查任务应该留给 linters,compilers 和 runtime。 // 输入 function foo() { var bar = 1; delete bar; }  // Prettier 2.4 SyntaxError: Deleting local variable in strict mode. (1:31) > 1 | function foo() { var bar = 1; delete bar; }     |                               ^  // Prettier 2.5 function foo() {   var bar = 1;   delete bar; }嵌入 CSS 的括号和表达式之间的空格会保留Respect spacing for between expressions and parentheses in embedded CSS (#11800by@sosukesuzuki)// 输入 const paragraph2 = css`   transform1: ${expr}(30px);   transform2: ${expr} (30px); `;  // Prettier 2.4 const paragraph2 = css`   transform1: ${expr} (30px);   transform2: ${expr} (30px); `;  // Prettier 2.5 const paragraph2 = css`   transform1: ${expr}(30px);   transform2: ${expr} (30px); `;espree 解析器支持 ES2022 私有类属性 Support ES2022 class-private-fields-in syntax inespreeparser (#11835by@fisker)// 例子 class Foo {   #brand;   static isC(obj) {     return #brand in Foo;   } } TypeScript去除装饰器的不必要的括号Remove unnecessary parentheses for decorators (#11717,#11849by@sosukesuzuki)// 输入 class Test {   @foo`bar`   test1: string = "test"    @test().x("global").y()   test2: string = "test"; }  // Prettier 2.4 class Test {   @(foo`bar`)   test: string = "test"    @(test().x("global").y())   test2: string = "test"; }  // Prettier 2.5 class Test {   @foo`bar`   test: string = "test"    @test().x("global").y()   test2: string = "test"; }SCSS改进 @use with 格式 Improve@use withformatting (#11637by@sosukesuzuki)// 输入 @use "library" with (   $black: #222,   $border-radius: 0.1rem,   $font-family: "Helvetica, sans-serif" );  // Prettier 2.4 @use "library" with   ($black: #222, $border-radius: 0.1rem, $font-family: "Helvetica, sans-serif");  // Prettier 2.5 @use "library" with (   $black: #222,   $border-radius: 0.1rem,   $font-family: "Helvetica, sans-serif" ); 修复 @forward with 的格式错误 Fix@forward withformatting error (#11683by@sriramarul,@sosukesuzuki)// 输入 @forward "foo.scss" with ($components: red);  // Prettier 2.4 TypeError: Cannot read properties of undefined (reading "type")  // Prettier 2.5 @forward "foo.scss" with (   $components: red ); Ember / Handlebars使用相反的引号模式对于 mustache statements 中的引用Uses the opposite quote type for quotes inside mustache statements in attributes (#11524by@bmaehr){}   {}   {} Markdown嵌入 TSX 的尾后逗号会保留Keep trailing commas for type parameters in embedded TSX (#11685by@sosukesuzuki)
  尾后逗号是必要的,因为它可以防止 TypeScript 认为  是印个 JSX 表达式的开始  ```tsx const test = (value: T) => {}; ```   ```tsx const test = (value: T) => {}; ```   ```tsx const test = (value: T) => {};
  转载请注明本文知乎链接和译者 Hugo。

一致性hash算法在很多面试的场景下,会被问到一致性hash算法。那究竟什么是一致性算法呢?一致性算法是为解决什么问题呢?这里简单做个总结。一意义随着应用的扩大和用户的增多,在单一的数据库或者red你买过最理想的电脑配件是什么?感谢邀请!买过最理想的电脑配件是什么?1移动硬盘盒遇上笔记本电脑存储空间不足时,很多人会通过删减不必要的文件资料以节省空间,这种方式治标不治本,只能缓解一时之急。如果想长久解决存储武汉地铁11号线位于洪山华容之间,未来能否延至鄂州?如果鄂州拿得出钱来修地铁,未来可以修鄂州专线,从葛店南为起点,连接华容区樊口镇,直达鄂州客运站。方便了鄂州和武汉快速直达的美好愿景!武汉地铁11号线已经延伸到了鄂州境内(葛店南)。人类的未来会走向哪里随着科技的进步,人类社会的发展,也进入了日新月异的时代。人工智能迅速走进我们的生活,无人驾驶,智能家居,离我们越来越近。无人超市,无人书店等等,智能机器人未来将在许多领域取代我们人特斯拉升级车内摄像头!开车玩手机将被警告提升自动驾驶安全性9月1日消息,特斯拉近日在北美推送并升级FSD测试版的车型中,同步升级了DMS(驾驶员监视系统)。通过车内摄像头对驾驶员进行监控和提醒,以提升开启自动辅助驾驶或FSD(完全自动驾驶十三香实锤!消息称国行iPhone13全系降价苹果本月发布iPhone13系列手机几乎是板上钉钉了,随着大部分参数已经曝光,那么定价到底如何便成了大家最为关注的点。iPhone13到底香不香,跟苹果的定价也有很大关系。近日有媒想在自己车位上安装充电桩业主犯了难近日,家住华都花园B区的杨先生准备购买一辆新能源汽车,并且想在自己的车位上安装一个充电桩,本以为顺理成章的事儿却兜兜转转成了件心事儿,究竟为什么呢?市民杨先生我想买一个新能源车,正为什么抢不到红包的总是我?群里发红包,为什么总是有人能第一个抢到?优惠券发放,为什么一秒就没了?到底是信号不好,手机不行,网速不快还是人品问题?或许你有没有想过还有其他可能?2021年7月18日,微信自主抢手机推荐预算350左右能买到啥手机?这几款手机,值了最近有网友问我,预算只有350左右可以买到啥手机呢?作者这里还真找了几款350左右的手机,而且都还不错。oppor11推荐第一款oppor11oppor11是oppo公司在2017特斯拉2。5万美元新汽车或不会命名为Model2品玩9月4日讯,马斯克在最新职工大会上透露,特斯拉售价2。5万美元的电动汽车将不会被命名为Model2。该公司之所以为大中型电动轿车取名Model3,是因为福特拥有ModelE商标3000价位段有哪些高性价比手机1realmeGT大师探索版realmeGT大师探索版兼顾性能拍照快充颜值等多方面优点,在3000元左右的机型里非常能打拍照支持光学防抖,搭载索尼IMX766主摄,拍摄效果非常不错
中国制造2025和新基建持续推进慧新辰等国产LCoS芯片企业未来可期9月28日,开启中国光影芯时代国产LCoS显示芯片技术研讨暨投影应用产品发布会,在深圳隆重举行。活动由成都德利普光电科技有限公司(简称德利普)主办钜成集团旗下上市公司大连晨鑫网络科雅本化学再获20亿国际大单,未来三年将继续深化与富美实合作930日,雅本化学(300261。SZ)发布公告,公司与FMCARGOSINGAPOREPTE。LTD。(以下简称富美实)完成定制产服务协议的补充协议(以下简称补充协议)的签署,补实拍8代高尔夫GTI,更加数字化且智能,小钢炮依旧名副其实要说哪辆车有未上市先火,一上市爆火的属性,那大众GTI一定是榜上有名,从1976年首代高尔夫诞生以来,这台车在45年以来凭借亲民的价格和卓越的性能征服者一代又一代车迷,成为了大家心为女性打造的电动车,欧拉闪电猫迅速走红,值得期待欧拉品牌从一诞生就备受追捧,立志要造最懂女人的车,随着欧拉朋克猫闪电猫芭蕾猫等轮流发布,它们也开始迅速走红,甚至出海。前不久,长城携带欧拉闪电猫亮相慕尼黑车展,独特的造型设计让它成27英寸4K超大屏,溜背式造型犀利,本土化设计的福特EVOS会成功吗在当下造车趋势的影响下,时尚运动以及科技的结合已然成为新趋势,这也使得许多传统车企落后的设计渐渐不被消费者接受,其中福特就是经历者。传统福特的肌肉车已经不被市场大众所接受,这也使得前脸魔爪套件辨识度高,运动基因延续,静态体验全新星越S说起吉利具有运动标签的的车,如果是老车迷,可能还记得很早之前的吉利美人豹,随着吉利汽车的发展壮大,吉利的运动车型也越来越多,但是真正从里到外都运动的车,说起来就那几个,其中就有我们登北京八达岭长城八达岭长城,位于北京市延庆区军都山关沟古道北口。是中国古代伟大的防御工程万里长城的重要组成部分,是明长城的一个隘口。八达岭长城为居庸关的重要前哨,古称居庸之险不在关而在八达岭。明长惠州西湖与丰渚园惠州西湖风景名胜区地处广东省东南部惠州市惠城中心区,由西湖景区和红花湖景区组成,总面积20。91平方公里,其中水域面积3。13平方公里,是以素雅幽深的山水为特征以历史文化为底蕴以休颐和园,昆明湖与南湖岛昆明湖是清代皇家诸园中最大的湖泊,湖中一道长堤西堤,自西北逶迤向南。西堤及其支堤把湖面划分为三个大小不等的水域,每个水域各有一个湖心岛。这三个岛在湖面上成鼎足而峙的布列,象征着中国车展实拍瑞虎7PLUS,24。6英寸大联屏科技感十足,还看合资车?自主品牌中知名度靠后,但是硬实力靠前的奇瑞一直都是闷声放大招,此前的瑞虎8以及瑞虎8PLUS,艾瑞泽5以及艾瑞泽5PLUS等车型的反响都还不错,并且采用的双车战略也是各大车商近些年车展实拍奥迪SQ5,3。0TV6发动机迸发354匹马力,气质媲美MacanS豪华品牌在中国市场一直都吃得很开,即使是在市场大环境不如从前的情况下,消费者对豪华品牌的青睐依旧,豪华品牌市场也是稳定增长,这也使得国际豪华品牌开始入驻中国市场,例如捷尼赛思。而豪