首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我喜欢JavaScript的Optional Chaining

正文共:1946 字 预计阅读时间:10 分钟 作者:Dmitri Pavlutin 翻译:疯狂的技术宅 来源:dmitripavlutin ? JavaScript 的特性极大地改变了你的编码方式。...从 ES2015 开始,对我代码影响最多的功能是解构、箭头函数、类和模块系统。 截至 2019 年 8 月,一项新提案 optional chaining 达到了第3阶段,这将是一个很好的改进。...问题 由于 JavaScript 的动态特性,对象可以有区别很大的嵌套对象结构。...这就是我喜欢 optional chaining 的原因。 2.1 数组项 但是 optional chaining 功能可以做更多的事情。...为什么我喜欢它? 我喜欢 optional chaining 运算符,因为它允许从嵌套对象轻松访问属性。它可以减少通过编写样板文件来验证来自访问器链的每个属性访问器上无效值的工作。

1.2K30

为什么我退出了编程工作

工程师和医生是很多人的头两个选择。现在,随着互联网的兴起,事情正在发生变化,但是父母期望孩子成为医生或工程师的情况并不少见。 我知道我不能当医生,因为我既不勇敢也不耐心。...我加入了国外的一所大学学习了4年。我花了数个小时来建立网站,并为各种计算机科学课程编写有趣的代码。HTML,JavaScript,CSS,PHP和Java是我的最爱。...幸运的是,我刚离开学校就加入了一个非常大的技术巨头公司。在那里我的第一个项目是为其中一家大型银行设计一个移动银行应用程序。我非常激动。初始入职后,实际工作开始了。...很快,我意识到工作编程与学校编程有很大不同。这是真的,在学校里没有人真正谈论过。没有大量的课程和作业可以让您为现实世界中的期望做好准备。 我与在该行业拥有多年经验的开发人员一起工作。...当你厌烦了自己的工作的时候,帮自己一个忙,迈出改变的第一步。它比您想象的要容易。

31520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么我喜欢 JavaScript 可选链

    正文共:1602 字 预计阅读时间:10 分钟 作者:Dmitri Pavlutin 翻译:疯狂的技术宅 来源:dmitripavlutin 很多 JavaScript 的特性极大地改变了你的编码方式。...从 ES2015 及更高版本开始,对我的代码影响最大的功能是解构、箭头函数、类和模块系统。...让我们看看可选链是如何通过在深度访问可能缺少的属性时删除样板条件和变量来简化代码的。 1. 问题 由于 JavaScript 的动态特性,一个对象可以具有非常不同的对象嵌套结构。...这就是为什么我喜欢可选链的原因。 2.1 数组项 可选链能还可以做更多的事。你可以在同一表达式中自由使用多个可选链运算符。甚至可以用它安全地访问数组项! 下一个任务编写一个返回电影主角姓名的函数。...我为什么喜欢它? 我喜欢可选链运算符,因为它允许轻松地从嵌套对象中访问属性。它可以防止编写针对访问者链中每个属性访问器上的空值进行验证的样板代码。

    72640

    为什么我用 JavaScript 来编写 CSS

    作为替代,我用 JavaScript 编写了所有的 CSS。 我知道你在想什么:“为什么有人会用 JavaScript 编写 CSS 呢?!” 这篇文章我就来解答这个问题。...) 复制代码 这会在 DOM 里渲染一个字体大小为 18px 的浅紫红色的 : ? 为什么我喜欢 CSS-in-JS? 主要是 CSS-in-JS 增强了我的信心。...我可以在不产生任何意外后果的情况下,添加、更改和删除 CSS。我对组件样式的更改不会影响其他任何内容。如果删除组件,我也会删除它的 CSS。不再是只增不减的样式表了!...我不能指望所有团队成员,特别是初级成员,对 CSS 有着百科全书般的理解。最重要的是,截止日期还可能会影响质量。...如果你使用 JavaScript 框架来构建包含组件的 Web 应用程序,那么 CSS-in-JS 可能非常适合。特别是你所在团队中每个人都理解基本的 JavaScript。

    1.3K50

    为什么我在容器中不能 kill 1 号进程?

    而容器中也是由init进程直接或间接创建了Namespace中的其他进程。 linux信号 而为什么不能在容器中kill 1号进程呢?进程在收到信号后,就会去做相应的处理。...在没有别的参数时这个信号类型默认为SIGTERM,是可以被捕获的 SIGKILL(9) Linux 里两个特权信号之一,不能被忽略也不能被捕获。进程一旦收到 SIGKILL就要退出。...运行命令 kill -9 1 里的参数“-9”,就是指发送编号为 9 的这个 SIGKILL 信号给 1 号进程。 为什么在容器中不能kill 1号进程? 对于不同的程序,结果是不同的。...如果信号被忽略了,那么 init 进程就不能收到指令了。 想要知道 init 进程为什么收到或者收不到信号,就要去看 sig_task_ignored()的实现。...0000000000004000 [root@043f4f717cb5 /]# kill 1 # docker ps CONTAINER ID IMAGE COMMAND CREATED 重点总结 “为什么我在容器中不能

    26510

    我为什么要创建一个不能被实例化的类

    但如果有一天,你发现我写了这样一个类: class People: def say(self): print(f'我叫做:{self.name}') def __new...__(self): raise Exception('不能实例化这个类') kingname = People() kingname.say() 一旦初始化就会报错,如下图所示:...一个不能被初始化的类,有什么用? 这就要引入我们今天讨论的一种设计模式——混入(Mixins)。 Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。...显然,这样写会报错,因为两个类的实例是不能比较大小的: 但在现实生活中,当我们说 某人比另一个人大时,实际上是指的某人的年龄比另一人年龄大。...混入: 不能包含状态(实例变量)。 包含一个或多个非抽象方法。 参考资料 [1]钻石继承: https://en.wikipedia.org/wiki/Multiple_inheritance

    3.4K10

    为什么我不建议你通过 Python 去找工作?

    意识到自己的问题之后,我就赶紧给读者“前进一点”发了一条信息道歉。另外,回想起之前还有一些读者问过我类似的问题,我的答案都不够严谨,因此打算特意写一篇文章来反省一下。...考虑到我的读者已经蔓延到了初中生群体,我得郑重其事地说一句,“如果你喜欢学习,那就好好学,别在该学习的年纪浪费了青春。”哎呀,我去,说这句话真有点拿自己做反面教材的感觉。...大专院校把 Python 作为主语言来教的话,我想肯定不是奔着这两个方向(人工智能、机器学习和数据分析)来的。第一个原因就是学历的问题,第二个原因就是教师不一定能教得会,更别说学生能不能学会了。...03、爬虫关于爬虫,不得不提一下羊哥视频评论区的一句话,不管是不是段子,我觉得挺值得深思的。 我有个同学搞爬虫被带走了,还好他不是主犯,就是登记了一下。...拿我来说吧,我希望自己的文章只发表在我希望发表的平台下,假如其他平台在未经我的授权下,就把我的文章爬走,放在自家平台上,我就觉得知识产权受到了破坏。

    2.8K20

    还有什么是JavaScript不能做的

    能用JavaScript做的,最后都会用JavaScript来做 不知不觉,JavaScript已经成为一门全栈语言,前端可以使用它,后台还能使用它,哪哪都有它的身影,都说python语言市场占有率极高...,prototype,jquery,到现在的vue,angular,react,人们对于js框架的开发从未停止脚步,我相信未来还会有更多的框架诞生。...丰富的组件,丰富的npm包资源,js的社区和python相比有过之而无不及。 客户端开发 不能开发客户端桌面的语言不是好语言。...总结 看起来似乎没有什么能够阻挡JavaScript的脚步,似乎各个领域都可以使用Javascript来进行开发。然而术业有专攻,最适合JavaScript的依然还是在浏览器这个执行环境中。...在某些场合,效率依然是最重要的,这也是为什么c语言至今仍然占有自己的一席之地。 没有任何一个技术可以一家独大,也没有任何一个语言可以取代所有,百花争芳才是我们最想看到的

    39030

    JavaScript 是如何工作的🔥 🤖

    看完这篇博文,你离成为Rockstar开发者又近了一步 执行上下文 “ JavaScript 中的一切都发生在一个执行上下文中。” 我希望每个人都记住这句话,因为它是必不可少的。...代码组件是容器中一次执行一行代码的地方。这个代码组件还有一个奇特的名字,即“执行线程”。我觉得听起来很酷! JavaScript 是一种同步的单线程语言。...JavaScript 中的函数与其他编程语言相比,工作方式有所不同。...一旦函数返回值,它将在完成工作时销毁其执行上下文。 现在它将对第 7 行或 square4 变量执行类似的过程,如下所示。...我知道代码很笨,没有做任何事情,但它会帮助我们理解 JavaScript 如何处理回调函数。 JavaScript 将创建一个全局执行上下文。

    2.5K10

    为什么我不建议你通过 Python 去找工作?

    二哥,你好,我是一名大专生,学校把 Python 做为主语言教给我们,但是我也去了解过,其实 Python 门槛挺高的,所以我在自学 Java,但是我现在并不清楚到底要不要全心的去学 Java,学校里的课程也越来越繁重...意识到自己的问题之后,我就赶紧给读者“前进一点”发了一条信息道歉。另外,回想起之前还有一些读者问过我类似的问题,我的答案都不够严谨,因此打算特意写一篇文章来反省一下。...考虑到我的读者已经蔓延到了初中生群体,我得郑重其事地说一句,“如果你喜欢学习,那就好好学,别在该学习的年纪浪费了青春。”哎呀,我去,说这句话真有点拿自己做反面教材的感觉。...大专院校把 Python 作为主语言来教的话,我想肯定不是奔着这两个方向(人工智能、机器学习和数据分析)来的。第一个原因就是学历的问题,第二个原因就是教师不一定能教得会,更别说学生能不能学会了。 ?...拿我来说吧,我希望自己的文章只发表在我希望发表的平台下,假如其他平台在未经我的授权下,就把我的文章爬走,放在自家平台上,我就觉得知识产权受到了破坏。

    2.7K40

    解决Select2控件不能在jQuery UI Dialog中不能搜索的bug

    但是他给出解决的方法,我看不太懂,后面也有人说直接修改jQuery UI类库,但是我们项目中使用的jquery-ui-1.10.3.min.js。...所以不可能修改jQuery UI的源代码,而已修改源代码,在后期类库升级和维护上,各种坑还是比较多。所以我继续搜索解决版本。在jQuery UI的官网找到了方法。...hot fix代码如下: hot fix:Select2控件在jQuery UI弹出对话中不能搜索 $.widget("ui.dialog", $.ui.dialog, { open:...,还需要更深入了解它的工作原理和细节。...这样在遇到不可知的bug时,能快速找到问题的根源是关键。这也是工作之后,leader或者manager更加强调你发现问题和解决问题的能力。

    1.6K100

    为什么我要拒绝梦寐以求的数据科学家工作?

    作者: Admond Lee 编译: Mika 本文为 CDA 数据分析师原创作品,转载需授权 在深入探讨这个问题前,让我们退后一步,先试着回答另一个问题:为什么要成为数据科学家?...最近IBM预计,到2020年数据科学家的市场需求将飙升28%。 这些吸引人的就业前景也让许多人投入数据科学的领域。 那么你肯定会想知道:为什么我要拒绝一份数据科学家的工作呢?...然而工作描述与实际工作形成了鲜明的对比,这让我感到无比困惑。 在上一轮面试之后,我拿到了数据科学家工作的offer。在同一段时间里,我还拿到了另一家公司研究工程师的offer。...这份工作描述更加明确,实际的工作范围也符合我想做的事情。 记得我之前提到的,大多数求职者所面临的职位名称与工作性质之间的两难选择吗?最终我选择了后者。 结语 ?...在新西兰玩耍 对我来说,职位名称是暂时的,但工作性质,这才是真正让我感兴趣并带来挑战性的,而且还能让我在工作中收获宝贵的技能和经验,这才是最重要的。

    93530

    好用的jQuery工作进度条

    对于进度条,在HTML5下有个新标签就是用来呈现任务的进度,鉴于目前很多旧式浏览器还不完全支持HTML5,大家都喜欢用javascript和css实现进度条的功能。...上周我在做OA里面的任务管理时,通过比较jQuery UI自带的[URL=http://jqueryui.com/progressbar]progress bar[/URL]还有jQuery easyui...中的[URL=http://www.jeasyui.com/documentation/progressbar.php]progress bar[/URL],发现都不太符合我的需求,最后找到一个特别简单的实现...,只需几行代码即可,读懂英文的看这里[URL=http://workshop.rs/2012/12/animated-progress-bar-in-4-lines-of-jquery/]ANIMATED...,我不喜欢把javascript的调用放在body中,于是放在jQuery的ready事件中,另外我这里的lblRateOfProgress在页面前端做一个display:none的隐藏。

    91120

    开发你不能忽略的问题?JavaScript(JS)

    JavaScript的3个组成部分分别为:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM) 1.ECMAScript核心语法 ①:代码编写位置 分为内部JS和外部JS【使用...4.ECMAScript核心——JavaScript面向对象编程 Java是面向对象,写Java程序,写类和对象。JavaScript是基于对象,写Js,不用创建类,使用Js内部已经定义好的对象。...①:定义JavaScript对象的两种方式 方式一:使用已经存在的对象,通过关键字进行创建 vars = newString("aaaa"); varo = newObject(); vardate =...new function来获得的,理解function就是对象构造函数 ②:Object和function的关系 JavaScript中所有引用类型都是对象Object实例 ------- Function...使用JavaScript的传递性进行推论!

    1.2K80
    领券