Tag: ecmascript 6

¿Por qué especificar una producción por separado para el operador de asignación con el símbolo `=` literal en vez del símbolo `AssignmentOperator`

La gramática EcmaScript para AssignmentExpression especifica lo siguiente: AssignmentExpression : ConditionalExpression YieldExpression ArrowFunction AsyncArrowFunction LeftHandSideExpression = AssignmentExpression <————– here LeftHandSideExpression AssignmentOperator AssignmentExpression AssignmentOperator : one of *= /= %= += -= <<= >>= >>>= &= ^= |= **= Me pregunto cuál es la razón detrás de especificar LeftHandSideExpression = AssignmentExpression como producción separada en lugar […]

Usando el método `response.end` de Node con promise

Supongamos que tengo un server HTTP básico que responde a todo con "foo": import http from 'http' http.createServer((request, response) => Promise.resolve('foo\n').then(s => response.end(s)) ).listen(8888) Esto funciona, pero cuando cambio la línea .then a una versión más corta: Promise.resolve('foo\n').then(response.end) No termina la respuesta. Debo extrañar algo muy tonto, pero no puedo pensar en qué es.

¿Cuándo debería usar yield y when yield * con Koa.js?

Navegando a través de muestras de koa, documentos y middleware, noté que ambas forms de yield están siendo utilizadas sin ninguna diferencia particular que noté. El caso más extremo está en koa-mount, donde el código de muestra usa el yield next; formulario, y el package en sí mismo usa yield* varias veces. Otros packages ( […]

Exportar una class después de la definición en ES6

// test.js class Test export Test // index.js import {Test} from './test' Esto da como resultado un error de syntax con Unexpected token . ¿Cuál es la forma correcta de exportar una class pnetworkingefinida? EDITAR: Se requiere que la definición de class sea independiente de la export.

Devuelve el valor de class de JavaScript en lugar de la reference del object (en ES6)

Estoy buscando crear una class para que devuelva un valor en lugar del object de class en ES6. Es más o less la misma pregunta que esta, pero en ES6. Esto toca un poco, pero todavía tiene que llamar explícitamente una propiedad. Quiero hacer algo como: class Foo { constructor(value) { this.value = value; // […]

Aurelia Jspm cargando una biblioteca externa

Así que lo hice: $ jspm install github:Eonasdan/bootstrap-datetimepicker $ jspm install npm:moment Luego en la parte superior de mi file js hice: import moment from 'moment'; import {datepicker} from 'eonasdan/bootstrap-datetimepicker'; import 'eonasdan/bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css!'; En mi browser está buscando /dist/eonasdan/bootstrap-datetimepicker.js que devuelve un 404 , ¿por qué no usa el map del sistema para averiguar dónde se […]

Cómo determinar si un set contiene un object sin reference (agregado sobre la marcha al set) en Javascript (ECMAScript 6)

Bueno, el set de ECMAScript 6 permite agregar objects en sets. Me gusta var s = new Set(); var o = {a: 1, b: 2}; s.add(o); s.add("c"); Determinar si un elemento "escalar" (como c) está presente es sencillo: s.has("c"); // true ¿Qué pasa con lo mismo pero para los elementos del object? Creo que proporcionar […]

¿Qué significan las llaves en la siguiente definición de function?

¿Qué significan las llaves en la siguiente definición de function? (state, { copy }) => state.push(createItem(copy));

JavaScript ecma6 cambia la function normal a la function de flecha

Tengo ese código: function defineProperty(object, name, callback){ if(object.prototype){ Object.defineProperty(object.prototype, name, {"get": callback}); } } defineProperty(String, "isEmpty", function(){return this.length === 0;}); y lo uso de la siguiente manera: console.log("".isEmpty, "abc".isEmpty); y regresa: true, false Ahora, me gustaría cambiar la function a algo como esto: defineProperty(String, "isEmptyWithArrow", () => this.length === 0); pero "esto" se refiere a […]

Error de dispersión de ES6 / Babel con Set

Tengo el siguiente código, simplificado a partir de un ejemplo del mundo real. let arr = [0,1,2], s = new Set(arr); let arr2 = […s]; alert('3 == ' + arr2.length); El problema es que esto falla, y produce un arr2 vacío en Google Chrome que tiene una implementación de Conjunto nativa, pero un Array.from polivalente. […]

Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.