学语言网站源码分享,学语言的免费网站

本篇文章给大家谈谈学语言网站源码分享,以及学语言的免费网站对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

我喜欢学习新语言,尽管我确信我可能永远不会使用它们(至少不会在生产环境中使用),或者当我最终使用它时,这种语言会有很大的不同。

框架也是如此,我们可以看到从其他语言和框架中窃取的很好的例子,并且做得更好。

if赋值

在Javascript中,这样做的方式是使用三元:

constthatIsTheQuestion=Math.random()>0.5?&39;:&39;;

但有时我们需要更强大的东西来找到这个问题,而三元组不支持它。

现在……这是我在学习Rust时发现的和蔼可亲的东西。

letcomplex_question=ifrand::random(){\nletsomething_complex=1;\nsomething_complex*2//toreturninrustjustleavewithout`return`orsemicolon!\n}else{\nletanother_complex_thing=2;\nanother_complex_thing*3\n};

对于这样的事情,我们有多种方法可以做到这一点,并非所有方法都像rust示例那样简洁,但也许我们可以接近……使用IIFE!

IIFE(立即调用函数表达式)

根据您开始使用Javascript的时间,您可能已经使用了很多、很少,或者甚至不知道它是什么。

这是您一次性声明和执行的函数。

(()=>{\nconsole.log(&39;)\n})()

很酷的一点是,您可以将返回值分配给,比如说……一个变量。

所以,你可以,在某种程度上,如果分配。

constcomplexQuestion=(()=>{\nif(Math.random()>0.5){\nconstsomethingComplex=1;\nreturnsomethingComplex*2;\n}else{\nconstanotherComplexThing=2;\nreturnanotherComplexThing*3\n};\n})()

是的,您可以在外部函数中重构所有这些并调用它们而不是这样做,但是我发现越来越多的地方可以更清楚地进行IIFE。

模式匹配

它有很多用途,但是随着Redux的流行,你可能甚至没有意识到你在reducer中使用的switch是一种模式匹配的方式。

但是有更优雅的方法可以做到这一点:

constwhatToEat={\nbreakfeast:&39;,\nlunch:&39;,\ndinner:&39;,\n}[&39;]??&39;;

您有选项和默认情况!

你知道什么……这是做if赋值的另一种方式。

constwithBooleans={\ntrue:&39;,\nfalse:&39;\n}[Math.random()>0.5];\n//yes,itworksforbooleanstoo!

一切都在一起

constmaybeTooMuch=(()=>{\nconstcomplicatedStuff={\ntrue:()=>&39;,\nfalse:()=>(()=>{\ntry{\nthrownewError(&39;tI?&39;default&39;Iprobablygonetoofaronthisone…&39;baconandeggs&39;hamburger&39;pizza&39;junkfood!&39;whattimeisit?'];

使用Proxy,我们可以更简洁地声明默认值。

关注七爪网,获取更多APP/小程序/网站源码资源!

学语言网站源码分享和学语言的免费网站的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平