Nota: Sé que esta es probablemente una pregunta simple y básica, pero comencé a aprender Javascript hace un par de años cuando todos estos cambios comenzaron a ocurrir y parece que aprendí la versión anterior.
Estoy confundido con Javascript. Estoy tratando de implementar una pila MEAN básica. Estoy usando Javascript es6 con Nodejs (6.x) en el lado del servidor. Luego, para el lado del cliente, estoy usando Angular 1.5 en es5 Javascript, pero parece que no funciona.
¿Es posible mezclar es6 en el lado del servidor y usar es5 en el lado del cliente O es todo o nada... todo es6 en el servidor/cliente o viceversa?
ACTUALIZACIÓN Gracias por toda la información. He estado mirando ES6 (ES2015) y no parece tan difícil, incluso he escrito algo de código con éxito. Sin embargo, acabo de manejar Angular 1 hace un tiempo y luego parece que salió Angular 1.6 y superior y fue bastante diferente. Angular 1 tuvo una gran curva de aprendizaje, ¿qué tan difícil sería actualizar mi código Angular 1 a 1.6 o superior? ¿El Angular más nuevo está escrito en ES6? Todo JS frontend escrito en ES6 necesita un tranpiler o ¿pueden los navegadores manejar ES6 ahora?
¿Es posible mezclar es6 en el lado del servidor y usar es5 en el lado del cliente?
Sí, podrías mezclar ambos. Pero tenga en cuenta que compartir código entre ambos puede ser complicado.
es todo o nada... todo es6 en servidor/cliente o viceversa?
Ese no es el caso aquí, pero recomendaría usar en ambos lados es6 y convertir a es5 para el navegador, por ejemplo, con Babel
¿Es posible mezclar es6 en el lado del servidor y usar es5 en el lado del cliente O es todo o nada... todo es6 en el servidor/cliente o viceversa?
Es posible mezclar lenguajes completamente separados en el servidor y el cliente, como PHP, Java, Ruby o C# en el servidor y JavaScript en el cliente. Entonces, sí, está bien si desea usar ES2015 (también conocido como "ES6") y funciones posteriores en su código de Nodo del lado del servidor y restringirse a ES5 y funciones anteriores en su código de navegador del lado del cliente.
Sin embargo, no tiene que hacerlo, y es sorprendentemente difícil una vez que se acostumbra a escribir funciones let y const y arrow para no escribirlas en su código del lado del cliente por accidente. Entonces, por esa razón, podría considerar usar ES2015+ más tanto del lado del servidor como del lado del cliente, y "transpilar" su código del lado del cliente de ES2015+ a ES5 para usarlo en navegadores más antiguos. Hay múltiples transpiladores, como Babel . Puede desarrollar con un navegador actualizado como Chrome, Firefox o Edge, y luego hacer que su herramienta de compilación haga que la compilación de "producción" pase todo el código del lado del cliente a través de Babel (quizás con Webpack o Browserify o similar) para usar en navegadores más antiguos como IE11.