En los documentos de CoffeeScript para array splicing, ¿cuál es el propósito del , _ref
posterior?Empalme de matriz con coffeescript, ¿qué es _ref?
CoffeeScript:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[3..6] = [-3, -4, -5, -6]
compila en:
var numbers, _ref;
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
[].splice.apply(numbers, [3, 4].concat(_ref = [-3, -4, -5, -6])), _ref;
+1 para el operador de enlace a coma, Douglas Crockford recomienda no usarlo, ya que puede conducir a "expresiones excesivamente difíciles", así que supongo que simplemente me olvidé de ello. Esto puede ser imposible de responder, pero ¿conoce la razón por la cual coffeeScript desea devolver el segmento que acaba de asignar, teniendo en cuenta que en este ejemplo, no es utilizado por nada ...? Gracias. – AJP
@ AJP, probablemente porque puede generar el mismo fragmento de código ya sea que la persona que llama esté interesada o no en el valor devuelto. En otras palabras, "optimizar" 'ref' en el último caso puede no haber valido la complejidad adicional presentada en el compilador. –