哪个版本的Javascript

哪个版本的Javascript,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,注意:我知道这可能是一个简单而基本的问题,但我几年前才开始学习Javascript,当时所有这些变化都开始发生,似乎我学习了旧版本 我对Javascript感到困惑。我正在尝试实现一个基本的平均值堆栈。我在服务器端使用ES6JavaScript和Nodejs(6.x)。对于客户端,我在ES5JavaScript中使用Angular 1.5,但它似乎不起作用 可以在服务器端混合使用es6,而在客户端使用es5,或者是全有或全无。。。服务器/客户端上的所有es6,或反之亦然 更新感谢您提供的所有信息

注意:我知道这可能是一个简单而基本的问题,但我几年前才开始学习Javascript,当时所有这些变化都开始发生,似乎我学习了旧版本

我对Javascript感到困惑。我正在尝试实现一个基本的平均值堆栈。我在服务器端使用ES6JavaScript和Nodejs(6.x)。对于客户端,我在ES5JavaScript中使用Angular 1.5,但它似乎不起作用

可以在服务器端混合使用es6,而在客户端使用es5,或者是全有或全无。。。服务器/客户端上的所有es6,或反之亦然

更新感谢您提供的所有信息。我一直在关注ES6(ES2015),它似乎并不难,我甚至成功地在其中编写了一些代码。然而,我刚才得到了Angular 1的一个手柄,然后它看起来像Angular 1.6和更高版本出现了,并且非常不同。Angular 1具有相当的学习曲线,将Angular 1代码更新为1.6或更高版本有多难?新的Angular是用ES6编写的吗?所有用ES6编写的前端JS都需要一个转换器,或者浏览器现在可以处理ES6了吗

可以在服务器端混合使用es6,在客户端使用es5

是的,你可以两者混合。但请注意,在两者之间共享代码可能很棘手

是全部还是全部。。。服务器/客户端上的所有es6,或反之亦然

这里的情况并非如此,但我建议在浏览器的两侧使用es6并转换为es5,例如

可以在服务器端混合使用es6,而在客户端使用es5,或者是全有或全无。。。服务器/客户端上的所有es6,或反之亦然

可以在服务器和客户机上混合使用完全不同的语言,如服务器上的PHP或Java或Ruby或C#,以及客户机上的JavaScript。因此,如果您想在服务器端节点代码中使用ES2015(也称为“ES6”)和更高版本的功能,并在客户端浏览器代码中限制自己使用ES5和更早版本的功能,那么这是可以的


不过,您不必这样做,而且一旦您习惯了编写
let
const
和arrow函数,就很难让自己不意外地在客户端代码中编写它们。因此,您可能会考虑使用ES2015 + PLUS服务器端和客户端,并将“客户端”代码从ES2015 +向下到ES5,以便在旧浏览器上使用。有多个Transpiler,例如。您可以使用最新的浏览器(如Chrome、Firefox或Edge)进行开发,然后让您的构建工具使“生产”构建通过Babel(可能使用或类似)传递所有客户端代码,以便在旧浏览器(如IE11)上使用。

“它似乎不起作用”并不能告诉我们太多。如果你看到错误,你应该发布它们。如果你没有看到错误,但事情仍然不起作用,你应该更详细地描述什么是不起作用的(例如http请求没有被发送,或者它发送了错误的头,等等)。ES5代码不会仅仅因为它是旧的es6没有ES5的反对意见而抛出错误,如果你在服务器端有es6可用,它将正常工作。尽管如此,我建议双方都使用ES6,并在需要时将其传输到es5。您的服务器和客户机不应该交换实际代码,那么为什么服务器在客户机上运行什么对服务器很重要,反之亦然?对于似乎无法区分两者的人来说,这似乎是相当先进的:p,但确实如此!这是一个很好的意见。。。但这里没有多少事实。它也没有回答这个问题,即是否可能。另外,现在所有最近的浏览器都支持ES6,有理由降级吗?同意,我已经编辑了我的帖子@WilomGfx在我看来更容易,因为你不需要知道它们之间的区别。@user3125823:我不是一个棱角分明的人,所以不是解决这些新问题的合适人选。但是你的大决定是角度1.6对,这是最新的。v1.6有很多追随者。v4是“v2”行中的最新版本(他们切换到语义版本控制),这是一个框架重写。