初学者程序员 - 是从ES5还是ES6开始

时间:2016-07-24 06:49:37

标签: javascript ecmascript-6 smalltalk ecmascript-5

在成为IT运营多年后的多面手之后,我已经踏上了编码的道路,进入了Web服务(全栈)。 Ruby,Python,C#和JavaScript很有趣,Launch School看起来有一个很好的方法和学习完整堆栈的课程,从后端的Ruby开始。

C#和.net Core怎么样?

然而,一位朋友最近让我对C#感兴趣,这显然是一种美妙的语言。上个月发布的.net Core使其更具吸引力。然而,开始简单并首先学习编程并不是一个坏主意,不幸的是,C#与.net是不可分割的。所有的代码示例似乎都有.net,这可能会让初学者学习编程概念不太好。

C#的结构和严格打字对我来说很有吸引力,但是简单性也是如此。 Ruby和其他动态语言。 Ruby的OOP和语言的固有意义也很有吸引力。实际上,每种语言似乎都有令人信服的理由。

转到JavaScript

因此,继续研究表明,JavaScript作为一种优秀的第一语言有很强的理由,它将扩展到许多领域(网络前端和后端,DevOps等)并创建,正如Jeffrey Snover所说,&# 39; a virtuous cycle'

JavaScript看起来也不错。它似乎比C#更简洁。然而,它的缺点是没有C#的严格打字,也没有Ruby的观点,以帮助程序员编写更好的代码。它太宽松了。 ES6和TypeScript可以解决这个问题,最初我想学习TypeScript。但是,我是一个原教旨主义者,所以这并不是一种正确的方法。

可能的路径

这导致我或多或少基于以下路径:

  1. 学习编码,使用ES5(许多可用资源开始 使用Eloquent JavaScript,添加Speaking JavaScript,JavaScript:The Good Parts等);
  2. 将Smalltalk添加到混音中,因为这听起来像一个很棒的基线,并且从各方面来看,它都是一种美观,简单/直接的语言,具有纯粹的OOP焦点;
  3. 学习CSS和HTML,JSON,ReST;
  4. 在我熟悉ES5后学习TypeScript,ES6,包括避免了许多陷阱;
  5. 根据需要学习Node.js和其他JS变体;
  6. 根据需要添加框架。
  7. 无论如何,JavaScript对于全栈,#39;所有内容都是有意义的。网页服务。很高兴学习非Microsoft堆栈。

    谢谢, 缺口

    修改

    我听过 podcast ,其中Kyle Simpson,Ashley Williams等人正在谈论使用JavaScript学习编程概念的初学者。并且,他们赞扬ES5中缺乏抽象和糖,并将其与ES6中抽象的引入进行比较,其中一些模糊了初学者的语言方面。

    在ES6的上下文中,对于初学者而言,它们似乎更强调Classes,并且实现似乎是一种奇怪的语言。但是,他们还提到了令人敬畏的Destructuring是如何以及如何使它更容易学习。这是一个有趣的讨论。

    Ashley还在jsconf2015(上面链接的页面上的链接)上发表了演讲,其中她在使用它来学习编程概念的背景下查看ES6。

3 个答案:

答案 0 :(得分:2)

当您精通JavaScript时,ES6很可能会得到完全支持。我会直接去ES6。然后,我会学习JavaScript框架,比如Angular 2

ES6几乎涵盖了ES5的所有功能,它们并没有完全不同。有一个very good ES6 description可用。

答案 1 :(得分:2)

当你看到:

ES5

[{lb:'Email',val:'ab@kg.co.sa'}].map(function(e){
      return '<div><label>'+e.lb+'</label>'+'<input value="'+e.val+'" />'+'</div>'

})

可以用 ES6

编写
[{lb:'Email',val:'ab@kg.co.sa'}].map(({lb,val})=>`<div><label>${lb}</label> <input value="${val}" /></div>`)

您将自己做出决定。

==&GT;优雅与优雅生产力是 ES6

答案 2 :(得分:0)

Javascript是一种很棒的语言,但它也很混乱,而且有很多不好的文章。与其他答案不同,我建议您首先学习ES5,因为您提到的所有书籍都是用ES5编写的。你不想把自己与箭头语法和其他语法糖混淆。一旦你厌倦了ES5,你也会更加欣赏ES6,但我相信这是学习的必要部分。它还可以让您更好地了解为什么这些新功能添加到ES6中。

在学习Javascript方面,我的意见是选择多个来源,如视频,跟随Twitter上的合适人物,收听播客,文章等。这是一个指导您旅程的好地方:{{3 }}

你提到的书很棒,但我会再加两本书。 Javascript权威指南,你不知道JS。

我已经阅读了Eloquent JS,The Definitive Guide和Javascript这些好的部分,但我觉得在我读完“你不懂JS - Kyle Simpson后”http://jstherightway.org/

我强烈建议他的视频课程“为严肃的程序员提供高级Javascript”。它真的让我看到了javascript范例。

不要跳过框架,因为你会在配置上花费大量时间而不是学习实际的javascript。