คำถามติดแท็ก ecmascript-6

ข้อกำหนดคุณสมบัติ ECMAScript เวอร์ชัน 2015 ปัจจุบันเป็นมาตรฐาน (ECMAScript 2015) ใช้แท็กนี้เฉพาะเมื่อคำถามเกี่ยวข้องกับคุณสมบัติใหม่หรือการเปลี่ยนแปลงทางเทคนิคที่ให้ไว้ใน ECMAScript 2015 เท่านั้น

3
การทำลายโครงสร้างโดยไม่ต้องแปรผัน
เหตุใดการทำลายโครงสร้างวัตถุจึงทำให้เกิดข้อผิดพลาดหากไม่มีvarคีย์เวิร์ดอยู่ข้างหน้า {a, b} = {a: 1, b: 2}; พ่น SyntaxError: expected expression, got '=' สามตัวอย่างต่อไปนี้ใช้งานได้โดยไม่มีปัญหา var {a, b} = {a: 1, b: 2}; var [c, d] = [1, 2]; [e, f] = [1, 2]; คำถามโบนัส: ทำไมเราไม่จำเป็นต้องมีvarการทำลายโครงสร้างอาร์เรย์? ฉันพบปัญหาในการทำสิ่งที่ชอบ function () { var {a, b} = objectReturningFunction(); // Now a and b …

5
ฟังก์ชัน JavaScript ที่ไม่ระบุชื่อ f => f ทำอะไรกันแน่?
ฉันใช้ไลบรารีของบุคคลที่สามที่มีฟังก์ชันที่รับฟังก์ชันเป็นอาร์กิวเมนต์ ฉันกำลังตรวจสอบเงื่อนไขบางอย่างเพื่อตัดสินใจว่าจะเพิ่มฟังก์ชันใดฟังก์ชันหนึ่งเป็นพารามิเตอร์หรือไม่และในบางกรณีฉันไม่ต้องการให้ฟังก์ชัน การระบุค่าว่างในกรณีนั้นจะทำให้เกิดข้อผิดพลาด ฉันพบรหัสนี้ซึ่งใช้งานได้ แต่ฉันไม่เข้าใจว่าเกิดอะไรขึ้น compose(__DEV__ ? devTools() : f => f) คือf => fเทียบเท่ากับ() => {}ฟังก์ชั่นที่ไม่ระบุชื่อที่ว่างเปล่า?

5
Webpack babel 6 ES6 มัณฑนากร
ฉันมีโปรเจ็กต์ที่เขียนด้วย ES6 โดยมี webpack เป็นบันเดิลเลอร์ การถ่ายโอนข้อมูลส่วนใหญ่ทำงานได้ดี แต่เมื่อฉันพยายามรวมมัณฑนากรไว้ที่ใดก็ได้ฉันได้รับข้อผิดพลาดนี้: Decorators are not supported yet in 6.x pending proposal update. ฉันได้ตรวจสอบตัวติดตามปัญหาของ babel แล้วและไม่พบสิ่งใดในนั้นดังนั้นฉันจึงคิดว่าฉันใช้ผิด การกำหนดค่า webpack ของฉัน (บิตที่เกี่ยวข้อง): loaders: [ { loader: 'babel', exclude: /node_modules/, include: path.join(__dirname, 'src'), test: /\.jsx?$/, query: { plugins: ['transform-runtime'], presets: ['es2015', 'stage-0', 'react'] } } ] ฉันไม่มีปัญหากับสิ่งอื่นใดฟังก์ชันลูกศรการทำลายทุกอย่างทำงานได้ดีนี่เป็นสิ่งเดียวที่ใช้ไม่ได้ ฉันรู้ว่าฉันสามารถปรับลดรุ่นเป็น babel …

5
สัญญาส่งพารามิเตอร์เพิ่มเติมไปที่โซ่แล้ว
คำสัญญาตัวอย่างเช่น: var P = new Promise(function (resolve, reject) { var a = 5; if (a) { setTimeout(function(){ resolve(a); }, 3000); } else { reject(a); } }); หลังจากที่เราเรียก.then()วิธีการตามสัญญา: P.then(doWork('text')); จากนั้นdoWorkฟังก์ชันจะมีลักษณะดังนี้: function doWork(data) { return function(text) { // sample function to console log consoleToLog(data); consoleToLog(b); } } ฉันจะหลีกเลี่ยงการส่งคืนฟังก์ชันภายในใน doWork เพื่อเข้าถึงข้อมูลจากพารามิเตอร์สัญญาและข้อความได้อย่างไร มีเทคนิคในการหลีกเลี่ยงฟังก์ชันด้านในหรือไม่?

3
ฉันจำเป็นต้องใช้ js เมื่อฉันใช้ babel หรือไม่?
ฉันกำลังทดลองกับ ES6 และฉันใช้อึกเพื่อสร้างและ babel เพื่อถ่ายทอดไปยัง ES5 เอาต์พุตไม่ได้ถูกเรียกใช้ในโหนดเพียงแค่เชื่อมโยงจากไฟล์. htm ด้วยแท็ก ฉันคิดว่าฉันต้องเพิ่ม <script src='require.js'></script> หรืออะไรทำนองนั้น ฉันพยายามนำเข้า / ส่งออก ////////////////scripts.js import {Circle} from 'shapes'; c = new Circle(4); console.log(c.area()); /////////////////shapes.js export class Circle { circle(radius) { this.radius = radius; } area() { return this.radius * this.radius * Math.PI; } } ข้อผิดพลาดคือ Uncaught ReferenceError: …

6
แปลง ES6 ซ้ำเป็น Array
สมมติว่าคุณมี Javascript ES6 ที่เหมือนอาร์เรย์ซึ่งคุณรู้ล่วงหน้าว่าจะมีความยาว จำกัด วิธีที่ดีที่สุดในการแปลงเป็น Javascript Array คืออะไร? เหตุผลในการทำเช่นนั้นคือไลบรารี js จำนวนมากเช่นขีดล่างและ lodash รองรับเฉพาะ Arrays ดังนั้นหากคุณต้องการใช้ฟังก์ชันใด ๆ บน Iterable ต้องแปลงเป็น Array ก่อน ใน python คุณสามารถใช้ฟังก์ชัน list () ได้ ES6 เทียบเท่าหรือไม่


12
เป็นไปได้ไหมที่จะจัดเรียงวัตถุแผนที่ ES6
เป็นไปได้ไหมที่จะจัดเรียงรายการของวัตถุแผนที่ es6 var map = new Map(); map.set('2-1', foo); map.set('0-1', bar); ผลลัพธ์ใน: map.entries = { 0: {"2-1", foo }, 1: {"0-1", bar } } เป็นไปได้ไหมที่จะจัดเรียงรายการตามคีย์ map.entries = { 0: {"0-1", bar }, 1: {"2-1", foo } }

13
.map () แผนที่ Javascript ES6?
คุณจะทำอย่างไร โดยสัญชาตญาณฉันต้องการทำ: var myMap = new Map([["thing1", 1], ["thing2", 2], ["thing3", 3]]); // wishful, ignorant thinking var newMap = myMap.map((key, value) => value + 1); // Map { 'thing1' => 2, 'thing2' => 3, 'thing3' => 4 } ฉันยังไม่ได้รวบรวมมากจากเอกสารเกี่ยวกับโพรโทคอซ้ำใหม่ ฉันรู้wu.jsแต่ฉันทำงานBabelโครงการและไม่ต้องการที่จะรวมTraceurซึ่งดูเหมือนว่ามันกำลังจะขึ้นอยู่กับ ฉันยังไม่รู้ว่าจะแยกวิธีการที่ fitzgen / wu.js ทำอย่างไรในโครงการของฉัน ชอบคำอธิบายที่ชัดเจนและกระชับเกี่ยวกับสิ่งที่ฉันพลาดที่นี่ ขอบคุณ! เอกสารสำหรับแผนที่ ES6 , …

6
อะไรคือ ES6 เทียบเท่ากับ Python 'enumerate' สำหรับลำดับ
Python มีฟังก์ชันในตัวenumerateเพื่อให้ได้(index, item)คู่ที่ทำซ้ำได้ ES6 มีค่าเทียบเท่าสำหรับอาร์เรย์หรือไม่ มันคืออะไร? def elements_with_index(elements): modified_elements = [] for i, element in enumerate(elements): modified_elements.append("%d:%s" % (i, element)) return modified_elements print(elements_with_index(["a","b"])) #['0:a', '1:b'] เทียบเท่า ES6 โดยไม่มีenumerate: function elements_with_index(elements){ return elements.map(element => elements.indexOf(element) + ':' + element); } console.log(elements_with_index(['a','b'])) //[ '0:a', '1:b' ]

3
จะหลีกเลี่ยงการนำเข้าด้วยเส้นทางสัมพัทธ์ที่ยาวมากใน Angular 2 ได้อย่างไร
ฉันจะแนะนำสิ่งที่ต้องการ'my-app-name/services'หลีกเลี่ยงบรรทัดเช่นการนำเข้าต่อไปนี้ได้อย่างไร import {XyService} from '../../../services/validation/xy.service';

6
วิธีการโคลนอินสแตนซ์คลาสจาวาสคริปต์ ES6
ฉันจะโคลนอินสแตนซ์คลาส Javascript โดยใช้ ES6 ได้อย่างไร ฉันไม่สนใจโซลูชันที่ใช้ jquery หรือ $ expand ฉันเคยเห็นการอภิปรายเกี่ยวกับการโคลนวัตถุที่ค่อนข้างเก่าซึ่งชี้ให้เห็นว่าปัญหาค่อนข้างซับซ้อน แต่ด้วย ES6 วิธีแก้ปัญหาที่ง่ายมากจะนำเสนอเอง - ฉันจะวางไว้ด้านล่างและดูว่าผู้คนคิดว่าน่าพอใจหรือไม่ แก้ไข: มีการแนะนำว่าคำถามของฉันซ้ำกัน ฉันเห็นคำตอบนั้น แต่มันมีอายุ 7 ปีและเกี่ยวข้องกับคำตอบที่ซับซ้อนมากโดยใช้ pre-ES6 js ฉันขอแนะนำว่าคำถามของฉันซึ่งช่วยให้ ES6 มีวิธีแก้ปัญหาที่ง่ายกว่ามาก

6
วิธีการในวัตถุ ES6: การใช้ฟังก์ชันลูกศร
ใน ES6 ทั้งสองอย่างนี้ถูกกฎหมาย: var chopper = { owner: 'Zed', getOwner: function() { return this.owner; } }; และเป็นชวเลข: var chopper = { owner: 'Zed', getOwner() { return this.owner; } } เป็นไปได้ไหมที่จะใช้ฟังก์ชั่นลูกศรใหม่ด้วย ในการลองทำสิ่งต่างๆเช่น var chopper = { owner: 'John', getOwner: () => { return this.owner; } }; หรือ var chopper = { …

2
วงเล็บปีกกา (วงเล็บปีกกา) ในคำสั่ง 'ต้องการ' ของ Node.js
ฉันกำลังพยายามทำความเข้าใจความแตกต่างระหว่างข้อความ 'ต้องการ' สองข้อความด้านล่าง โดยเฉพาะจุดประสงค์ของการ{ }พันรอบipcMainคืออะไร? const electron = require('electron') const {ipcMain} = require('electron') ดูเหมือนว่าทั้งสองจะกำหนดเนื้อหาของelectronโมดูล แต่เห็นได้ชัดว่าทำงานต่างกัน ใครช่วยส่องบ้าง

6
การใช้ไวยากรณ์การแพร่กระจายและ Set () ใหม่ด้วย typescript
ฉันใช้รหัสต่อไปนี้เพื่อรับหมายเลขเฉพาะ: let uniques = [ ...new Set([1, 2, 3, 1, 1]) ]; // [1, 2, 3] อย่างไรก็ตาม typescript รายงานข้อผิดพลาดต่อไปนี้: Type 'Set' ไม่ใช่ประเภทอาร์เรย์ ฉันไม่ใช่นินจานักพิมพ์มีใครบอกได้ไหมว่ามีอะไรผิดปกติที่นี่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.