JavaScript这些年来发生了很大的变化,成为了比较流行的语言之一。以下是我和许多开发人员最喜欢/首选的编码语言,因此这些是您绝对应该首先尝试的10件事。This和Global“this”是Javascript中最令人困惑的事情之一,在ES2020中我们得到了“globalThis”,这无疑有助于简化事情并在其他“this”之间创建清晰的区别。我得到“globalThis”是因为在浏览器中全局是“window”,在NodeJs中它是“global”而在worker中它是“self”。一团糟,对吧?一些语言(如swift和python)称它为“self”,其他语言(如Java)称它为“this”,而Javascript的“this”表现不同。“this”可以指对象或类的实例。它还会根据函数的调用方式而变化。它是你所处的上下文,它也会在严格和非严格模式下发生变化。需要更多理由才能真正尝试掌握它吗?对象Javascript中的一切都是对象。这应该是寻求掌握Javascript对象的唯一原因,但让我告诉你更多。Class和Array只是底层对象的两个例子。要理解对象,你需要理解Javascript的原型性质,包括原型继承和原型。这些属性使Javascript如此灵活,并且是您几乎可以使用Java做任何事情的核心原因之一。您使用的每个库和工具都在幕后使用对象原型,这让您想要创建东西。Classes掌握了对象之后,还得掌握Classes,Classes只是对象和底层的构造函数。当您了解对象时,您就会了解Javascript类的局限性和强大功能。如果您来自面向对象的语言,或者是面向对象编程的爱好者,那么引入类可以让这一切成为可能。类已经成为开发人员避免Javascript奇怪的原型性质并只专注于他们正在构建的东西的首选方法。作用域和闭包我试图向某人解释作用域和闭包,结果让我大吃一惊。人们常常对它们感到困惑,并且没有意识到作用域如何充分说明在给定上下文的情况下代码是如何执行的。对我来说,作用域就是创建盒子,而闭包只是一个特殊的盒子。我实际上创建了一个视频来解释它。让我知道你的想法?了解范围将帮助您创建协同工作的代码,如果您喜欢封装和函数式编程的思想,闭包正是您应该使用的强大工具。数据结构这是一个很大的话题,但如果不了解数据结构,您就无法像我今天所做的那样,也无法了解如何在网络上创建内容。这在任何语言中都是一个重要的话题吗,尤其是在数组实际上不是数组的Java中?理解数据结构是工程师的思维方式。这是一项真正使您有别于其他开发人员的知识。单线程、非阻塞、异步、并发这几乎就是Javascript的定义,理解这意味着专业级的东西。了解为什么Javascript是单线程的将告诉您它更适合哪些应用程序。我实际上读了一篇好文章,但我建议你认真研究本节的标题,并熟悉该语言。Promises与Async-await每当我用另一种语言编写代码时,除了promises和async-await之外,没有什么比我更喜欢的了,我喜欢JavascriptPromises和Async-await。以下是您需要了解的有关Javascript工作原理的信息。Promises很神奇,它们在异步编程中有很多用途。Promises和async...await允许您偏离传统的线性执行程序的方式,这对于像Javascript这样的单线程语言来说使其更强大、更快,而无需花费大量资源创建专用线程。Promises+单线程使Javascript成为构建快速可靠的RestApi和实时通信应用程序的最佳选择之一。函数式编程在我看来,没有什么比Javascript函数更好的了。它检查每个框,它是仅次于对象的第二强大的语言。因为Javascript非常灵活和丰富,它允许您以任何风格编程,其中之一就是函数式编程风格。你可以用函数做任何事情,函数的技巧是无穷无尽的。如果您喜欢函数式或任何其他声明式编程,则必须掌握函数。控制流这是任何语言的基础。逐步了解它的工作原理将使您能够将简单到复杂的算法放在一起,从而创建更复杂的程序。控制流是了解事情是如何一步步执行的,以及它如何影响结构。它将帮助您快速调试和理解任何应用程序,即使您还没有编写过应用程序。网络请求和Ajax在某些时候,您将需要发出请求,处理通过网络获取的数据是一项基本技能,尤其是现在数据是任何应用程序的重要组成部分。了解如何使用fetch或XHRAPI会很方便,但您不限于此类本机API。目标是了解您如何在应用程序中通过网络获取数据。在某些时候,您将不得不处理巨大的数据负载或依赖大量数据的应用程序。结论你成为专业人士的方式就是这些小部分。通过大量练习逐步掌握每一步。只看内容没关系。你必须在尽可能多的不同情况下一遍又一遍地尝试。祝你好运!
