W dokumentacji CoffeeScript dla array splicing, jaki jest cel końcowej , _ref
?Składanie tablic z coffeescript, po co jest _ref?
coffeescript:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[3..6] = [-3, -4, -5, -6]
gromadzi do:
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 za link do operatora przecinka, Douglas Crockford zaleca, aby go nie używać, ponieważ może to prowadzić do "nadmiernie trudnych wyrażeń", więc myślę, że po prostu o tym zapomniałem. Odpowiedź może być niemożliwa, ale czy znasz powód, dla którego coffeeScript chce zwrócić wycinkę, którą właśnie przydzielił, mając na uwadze w tym przykładzie, że nie jest on używany przez nic ...? Dzięki. – AJP
@AJP, prawdopodobnie dlatego, że może wygenerować ten sam fragment kodu, niezależnie od tego, czy osoba dzwoniąca jest zainteresowana zwróconą wartością. Innymi słowy, "optymalizacja" wyrażenia "_ref" w tym drugim przypadku może nie być warta dodatkowej komplikacji przynoszonej przez kompilator. –