香草 jboss 工具_香草JavaScript值得学习吗? 绝对。

香草 jboss 工具

The purpose of this post is to emphasize the importance of JavaScript fundamentals for every front-end developer. I’m going to tell you why you should have a good knowledge of pure (Vanilla) JavaScript. This means JavaScript without any additional frameworks or libraries.

这篇文章的目的是强调JavaScript基础对于每个前端开发人员的重要性。 我要告诉你,你为什么要纯(良好的知识香草 )JavaScript。 这意味着没有任何其他框架或库JavaScript。

I’ll also mention a couple of resources that helped me to learn these basics.

我还将提到一些帮助我学习这些基础知识的资源。

Another reason behind this post is that many aspiring web developers tend to skip learning core JavaScript concepts such as hoisting, closures, or prototypes. They go straight to the hottest frameworks such as React or Angular 2. I’ll show you why this approach is not the most convenient one.

这篇文章背后的另一个原因是,许多有抱负的Web开发人员倾向于跳过学习JavaScript的核心概念,例如吊装,封闭或原型。 它们直接进入最热门的框架,例如React或Angular2。我将向您展示为什么这种方法不是最方便的一种。

每个人都希望开发人员了解$ {addTheHotFramework}… (Everybody wants developers with knowledge of ${addTheHotFramework}…)

So, is there any reason why you should bother learning Vanilla JavaScript?

那么,有什么理由让您不该学习Vanilla JavaScript?

It’s hard to become a strong developer without knowledge of the core of the language itself. Just as you need to understand fundamental principles of the law before you can jump into a particular field of law. This comparison is purely accidental. ?

如果不了解语言本身的核心,很难成为一名强大的开发人员。 就像您需要了解法律的基本原理一样,您可以进入特定的法律领域。 这种比较纯粹是偶然的。 ?

I understand that the majority of aspiring web developers want to get hired as soon as possible. I wanted this as well.

我了解大多数有抱负的Web开发人员都希望尽快被录用。 我也想要这个。

It seems much easier to do a crash course on JavaScript basics, jump into some fancy framework, make a ToDo list (let a puppy die), upload it to GitHub, then start looking for a job.

在JavaScript基础上进行速成课程,跳入一些精美的框架,制作ToDo列表( 让小狗死 ),将其上传到GitHub,然后开始寻找工作似乎要容易得多。

…但是从长远来看,在Vanilla JavaScript上投入时间将获得回报 (…but investing time in Vanilla JavaScript will pay off in the long run)

Don’t get me wrong here. I am not biased against JavaScript frameworks in any way. It’s exactly the opposite. Many of them help you to write more readable and maintainable code. They let you write more abstract code that is often easier to debug.

不要误会我的意思。 我丝毫不反对JavaScript框架。 恰恰相反。 其中许多帮助您编写更具可读性和可维护性的代码。 它们使您可以编写更多通常更易于调试的抽象代码。

But the JavaScript ecosystem is evolving pretty fast. New frameworks are being created. New functionalities are being added to the existing ones. And most important, many of today’s hottest frameworks will eventually be replaced, such as Angular 1.

但是JavaScript生态系统发展非常Swift。 正在创建新框架。 新功能正在添加到现有功能中。 最重要的是,今天许多最热门的框架最终都将被替换,例如Angular 1。

In such circumstances, do you still think that knowledge of a particular JavaScript framework is sufficient for a web developer?

在这种情况下,您是否仍然认为对特定JavaScript框架的知识足以满足Web开发人员的需求?

Or is it better to understand how the language which all these libraries and frameworks are based on works under the hood?

还是更好地了解所有这些库和框架所基于的语言是如何在幕后工作的?

If you posses a solid knowledge of JavaScript fundamentals, the only thing you need to get yourself familiar with when starting to work with a new framework is its syntax. The basic rules will be the same since under all the layers of abstractions. It is still just plain ol’ JavaScript.

如果您对JavaScript基础知识有扎实的知识, 开始使用新框架时,您唯一需要熟悉的就是它的语法 。 基本规则将是相同的,因为在所有抽象层下均如此。 它仍然只是普通JavaScript。

If your knowledge is limited only to a single JavaScript framework, you will have a hard time learning a new one. Different frameworks are often based on a different set of JavaScript principles. In the long run you will spend more time trying to understand various frameworks and debugging the code you write in them.

如果您的知识仅限于单个JavaScript框架,那么学习新的框架将很困难。 不同的框架通常基于不同JavaScript原则集。 从长远来看,您将花费更多时间尝试理解各种框架并调试在其中编写的代码。

All the JavaScript frameworks and libraries are inevitably based on its Vanilla core.

所有JavaScript框架和库都不可避免地基于其Vanilla核心。

This should convince anyone that knowledge of a pure JavaScript is a must in the long run. It is a prerequisite for any successful developer, especially for one working mainly in the JavaScript ecosystem.

从长远来看,这应该使任何人相信纯JavaScript知识是必须的。 这是任何成功开发人员的先决条件,尤其是对于主要在JavaScript生态系统中工作的开发人员而言。

个人经验 (Personal experience)

Not long ago, I looked back at my journey from a lawyer to a web developer. It has already been 18 months since I wrote my first JavaScript function, and my 10th month working as a professional front-end developer.

不久前,我回顾了从律师到网络开发人员的旅程 。 自从我编写第一个JavaScript函数至今已经18个月了,而我成为专业的前端开发人员已经是10个月了。

I still remember how challenging it was for me to discover the right way of learning JavaScript, since I had no prior programming experience. I have tried (and am still trying) many different ways to become an effective learner. Some of them were more rewarding, some of them less.

我仍然记得,因为我以前没有编程经验,所以发现学习JavaScript的正确方法对我来说具有挑战性。 我已经尝试(并且仍在尝试)多种方法来成为有效的学习者。 其中一些奖励更多,有些则更少。

Most important, I cannot stress enough how helpful it was for me that I put emphasis on learning pure JavaScript from the beginning. Frameworks came later.

最重要的是,我从一开始就强调学习纯JavaScript对我有多大的帮助,我无法强调。 框架后来出现了。

At the moment, I am working with a React-Redux stack. Even so, I often come across a problem that I can solve thanks to my knowledge of Vanilla JavaScript. These bugs would be much more challenging to solve with only the knowledge of a particular framework.

目前,我正在使用React - Redux堆栈。 即使这样,由于我对Vanilla JavaScript的了解,我仍然经常遇到可以解决的问题。 仅依靠特定框架的知识来解决这些错误将更具挑战性。

Learning React or Angular 2 won’t teach you that objects are passed by reference or how closures works. Trying to understand these concepts under the abstractions brought by the framework is much harder. This makes simple JavaScript concepts more difficult to understand.

学习React或Angular 2不会告诉您对象是通过引用传递的,也不是闭包是如何工作的。 试图在框架带来的抽象下理解这些概念要困难得多。 这使得简单JavaScript概念更加难以理解。

Furthermore, if you are working with JSX (React, Vue, Inferno) or TypeScript (Angular 2), you have an another layer of abstraction on top of it.

此外,如果您使用的是JSX (React,Vue,Inferno)或TypeScript (Angular 2),那么它上面还有另一层抽象。

If you want to understand how these frameworks work under the hood, you need to know how JavaScript itself works first.

如果您想了解这些框架的工作原理,则需要先了解JavaScript本身的工作原理。

You can test your knowledge of pure JavaScript by reading the source code of your favorite framework. Not only will this give you a picture of how it works under the hood, it will also teach you a lot about its logic, which you can use in your own code. You will see that framework’s functions that seems to be doing a lot of magic in your application are just compositions of basic JavaScript concepts.

您可以通过阅读自己喜欢的框架的源代码来测试对纯JavaScript的了解 这不仅可以让您了解其幕后工作原理,还可以教给您很多有关其逻辑的知识,您可以在自己的代码中使用它。 您将看到,框架的功能似乎在您的应用程序中发挥了许多魔力,只是基本JavaScript概念的组成。

给我一些我可以学习的东西 (Give me something I can learn from)

The question you might be asking now is “What are some good resources that can help me to acquire decent knowledge of Vanilla JavaScript?”.

您现在可能会问的问题是:“哪些有用的资源可以帮助我获得有关Vanilla JavaScript的体面知识?”。

There are tons of courses and books about JavaScript and its frameworks. Yet few of them aim to teach you Vanilla JavaScript in a comprehensive way. Most of them specialize for a particular JavaScript technology.

有大量关于JavaScript及其框架的课程和书籍。 但其中很少有人打算全面地教您使用Vanilla JavaScript。 它们中的大多数专门针对特定JavaScript技术。

But there are still some good ones…

但是仍然有一些好的……

Eloquent JavaScript will teach you not only basics of JavaScript, but also basics of programming in general. If you are already an advanced developer, this book will provide you a fresh perspective on JavaScript and on its core principles.

出色JavaScript不仅会教您JavaScript的基础知识,而且还会教您一般的编程基础。 如果您已经是高级开发人员,那么这本书将为您提供有关JavaScript及其核心原理的新观点。

Another great resource is the book series You Don’t Know JavaScript (YDKJS) by Kyle Simpson. Kyle really knows how to teach. His explanations of advanced JavaScript concepts are beginner-friendly and he covers them in-depth. The mere titles of the books will give you a hint about what you are going to learn. “Up & Going”, “Scope & Closures”, “this & Object Prototypes”, “Types & Grammar”, “Async & Performance”, “ES6 & Beyond”. There is also a new 7th book about functional programming in JavaScript.

另一个很棒的资源是Kyle Simpson的《 您不知道JavaScript (YDKJS)》系列。 凯尔真的知道怎么教。 他对高级JavaScript概念的解释是初学者友好的,并且深入介绍了它们。 书籍的标题将为您提供有关您将要学习的知识的提示。 “向上运行”,“范围和闭包”,“此和对象原型”,“类型和语法”,“异步和性能”,“ ES6及更高版本”。 还有一本关于JavaScript函数编程的第七本书。

One of the great things about Eloquent JavaScript and YDKJS is that you can get them for free (check the provided links). But if you really find them useful, don’t forget to support the authors by buying them.

Eloquent JavaScript和YDKJS的一大优点是您可以免费获得它们 (请检查提供的链接)。 但是,如果您真的发现它们很有用,请不要忘记通过购买来支持作者。

If you’re more a video course person, you can watch Kyle’s online courses. I guess the best thing you can do is to watch them as a companion to his books since the topics are the same. However, these courses are paid.

如果您是视频课程的新手,则可以观看Kyle的在线课程 。 我想您最好的办法是将它们视为他的书籍的伴侣,因为主题是相同的。 但是,这些课程是付费的。

Another video course that I find useful is Javascript: Understanding the Weird Parts by Anthony Alicea. It explains what happens under the hood of JavaScript in an approachable way. It covers advanced concepts such as prototypical inheritance, functional programming and scope chains.

我觉得有用的另一个视频课程是Javascript:理解 Anthony Alicea 的怪异部分 。 它以一种易于理解的方式解释了在JavaScript的幕后发生的事情。 它涵盖了高级概念,例如原型继承,功能编程和作用域链。

立即学习Vanilla JavaScript (Learn Vanilla JavaScript, now)

If you invest your precious time in learning Vanilla JavaScript, you won’t regret it. Not only does it contains the word vanilla, but it will have a beneficial impact on programming skills.

如果您将宝贵的时间投入到学习Vanilla JavaScript中,您将不会后悔。 它不仅包含“ 香草 ”一词,还将对编程技能产生有益的影响。

For me, the best trade-off is that learning pure JavaScript will give you much more in the long run than investing time in a particular framework. Frameworks are just shortcuts. Under the hood it’s all JavaScript.

对我而言,最好的权衡是,从长远来看,学习纯JavaScript比在特定框架上投入时间会给您更多的收益。 框架只是捷径。 完全是JavaScript。

You’ll see for yourself in a situation where a framework you’re using has some unexpected behavior. In such case, you’ll be forced to investigate this bug by going through the source code. Did I mention that although many frameworks lack decent documentation, they have a pretty complex code? But hey, piece of cake, right? You surely already spent a lot of time learning Vanilla JavaScript. Or not yet?

在所使用的框架具有某些意外行为的情况下,您会自己看到。 在这种情况下,您将不得不通过检查源代码来调查此错误。 我是否曾经提到过,尽管许多框架缺乏完善的文档,但它们的代码却非常复杂? 但是,嘿,小菜一碟吧? 您肯定已经花了很多时间学习Vanilla JavaScript。 还是没有?

Should you remember only one thing from this post:

您是否应该只记住这篇文章中的一件事:

Always keep it mind that knowledge of Vanilla JavaScript will help you to become a much better developer. Period.

始终牢记,对Vanilla JavaScript的了解将帮助您成为更好的开发人员。 期。

If you liked this article, give it a few claps. I would greatly appreciate it.

如果您喜欢这篇文章,请给它一些鼓掌。 我将不胜感激。

This post was originally published on my blog.

该帖子最初发布在我的博客上

See you on Twitter ?

在Twitter上见吗?

David Kopal (@coding_lawyer) | TwitterThe latest Tweets from David Kopal (@coding_lawyer). front-end developer @ataccama | former lawyer | blogger …twitter.com

David Kopal(@coding_lawyer)| Twitter 来自David Kopal的最新推文(@coding_lawyer)。 前端开发人员@ataccama | 前律师| 博客… twitter.com

翻译自: https://www.freecodecamp.org/news/is-vanilla-javascript-worth-learning-absolutely-c2c67140ac34/

香草 jboss 工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值