कॉफ़ीस्क्रिप्ट में यह सीधा है:
coffee> a = ['a', 'b', 'program']
[ 'a', 'b', 'program' ]
coffee> [_..., b] = a
[ 'a', 'b', 'program' ]
coffee> b
'program'
क्या es6 कुछ इसी तरह की अनुमति देता है?
> const [, b] = [1, 2, 3]
'use strict'
> b // it got the second element, not the last one!
2
> const [...butLast, last] = [1, 2, 3]
SyntaxError: repl: Unexpected token (1:17)
> 1 | const [...butLast, last] = [1, 2, 3]
| ^
at Parser.pp.raise (C:\Users\user\AppData\Roaming\npm\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\parser\location.js:24:13)
बेशक मैं इसे es5 तरह से कर सकता हूं -
const a = b[b.length - 1]
लेकिन शायद यह एक त्रुटि से बंद होने का खतरा है। क्या संहार ही विनाश की अंतिम वस्तु हो सकती है?
...
से es6 के व्यवहार के बारे में है , विशेष रूप से यह कि इसे केवल अंतिम चीज के रूप में इस्तेमाल किया जा सकता है जब विनाश या एक पैरामीटर सूची में। यह संभावित रूप से किसी व्यक्ति के लिए कॉफ़ीसेस्क्रिप्ट से es6 में आने वाला है और इस प्रकार यह प्रश्न संभावित रूप से उपयोगी है।
[1,2,3].slice(-1)
आप के अलावा भी विनाशकारी नहीं कर सकते [1,2,3].slice(0, -1)
। ये सामान्य ऑपरेशन हैं। ES6 विनाश किसी तरह एक मजाक है!