您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

成为JS专家之前必须掌握这10件事

发表于:2020-12-30 作者:闻数起舞 来源:今日头条

多年来,JavaScript发生了很大的变化,并已成为比较流行的语言之一。 这是我的,并且有很多开发人员喜欢/首选的编码语言,因此,您绝对应该首先尝试这10件事。

This和Global

" this"是关于Javascript最令人困惑的事情之一,在ES2020中,我们获得了" globalThis",这无疑有助于简化事情并在其他" this"之间建立明确的区分。

之所以得到" globalThis",是因为在浏览器中,global是"窗口",在NodeJs中是" global",而在worker内部是" self"。一团糟吧?

一些语言(如swift和python)将其称为"self",而其他语言(如Java)则将其称为" this",而Javascript" this"的行为则有所不同。

" this"可以指对象或类的实例。它也根据函数调用方式而变化。它是您所处的上下文,并且在严格和非严格模式下也会发生变化。需要更多理由真正尝试掌握它吗?

对象

Javascript中的一切都是对象。这应该是寻求使用Javascript掌握对象的唯一原因,但让我告诉您更多。

Class和Array是事物的两个示例,它们只是底层的对象。要了解对象,您需要了解Javascript的原型性质,包括原型继承和原型。

这些属性使Javascript如此灵活,并且是您可以使用Java进行几乎所有操作的核心原因之一。您使用的每个库和工具都会在后台使用对象原型,这会让您想要创建东西。

掌握对象之后,您必须掌握Class,这些Class只是对象和底层的构造函数。

当您了解对象时,您将了解Javascript类的局限性和强大功能。如果您来自于面向对象的语言,或者是对面向对象编程的狂热爱好者,那么引入类就可以使整体成为可能。

类已成为开发人员避免使用Javascript怪异的原型性质而只关注于正在构建的事物的首选方法。

作用域和闭包

我试图向某人解释作用域和闭包,这让我很震惊。 人们常常被他们弄糊涂,并且没有意识到作用域是如何在给定上下文的情况下对如何执行代码有很多要求的。

对我来说,作用域是关于创建盒子,而闭包只是一个特殊的盒子。 我实际上创建了一个视频试图对其进行解释。 让我知道你的想法?

了解作用域将帮助您创建可一起使用的代码,并且如果您喜欢封装和函数式编程的想法,那么闭包只是您应该使用的强大工具。

数据结构

这是一个很大的话题,但是如果不了解数据结构,就无法做我今天做的事情,也无法理解如何创建Web上的东西。

在任何语言中,尤其是在数组实际上不是数组的Java语言中,这都是一个重要的主题?

了解数据结构是工程师的思维方式。这是一条真正使您与其他开发人员区分开的知识。

单线程,非阻塞,异步,并发

这几乎就是Javascript的定义,并且理解它的含义是专业级的东西。

了解为什么Javascript是单线程的将告诉您它更适合哪种应用程序。

我实际上阅读了一篇不错的文章,但我建议您真正研究本节的标题,并熟悉该语言。

Promise与异步等待

每当我用其他语言编写代码时,除了promise和async-await外,没有什么比我玩的多,而且我喜欢Javascript Promise和Async await。

这是您需要了解Javascript如何工作的内容。 承诺是神奇的,它为异步编程提供了很多目的。

Promises and async…await允许您偏离传统的线性方式来执行程序,该方法对于像Javascript这样的单线程语言来说,使其变得更强大,更快速,而无需花费大量资源来创建专用线程。

Promises +单线程使Javascript成为构建快速可靠的Rest Api和实时通信应用程序的最佳选择之一。

函数式编程

我认为,没有什么比Javascript的函数更胜一筹了。它选中每个框,这是仅次于Objects的第二种最强大的语言。

因为Javascript如此灵活和丰富,它允许您以任何样式进行编程,其中之一就是函数式编程样式。

您可以使用函数执行任何操作,并且与函数有关的技巧无穷无尽。 如果您喜欢函数式或任何其他声明式编程,则必须掌握函数。

控制流

这是任何语言的基础。逐步学习如何工作将使您能够将简单到复杂的算法组合在一起,从而使您可以创建更复杂的程序。

控制流正在理解如何逐步执行事物以及它如何影响结构。即使您没有编写应用程序,它也将帮助您快速调试和理解任何应用程序。

网络请求和Ajax

在某些时候,您将需要发出请求,并且处理通过网络获取的数据是一项必不可少的技能,尤其是现在数据是任何应用程序的重要组成部分。

了解使用fetch或XHR API的方法将很方便,但您不仅限于此类本机API。 目的是了解您在应用程序中通过网络获取数据的方式。

在某些时候,您将不得不处理庞大的数据负载或依赖大量数据的应用程序。

结论

您成为专业人士的方式就是这些小部分。通过大量的练习逐步掌握每个步骤。

您只要阅读一下内容都没关系。您必须在尽可能多的不同情况下反复尝试。

祝你好运!