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

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

6
อะไรคือการใช้งานจริงของ ES6 WeakMap?
การใช้งานจริงของWeakMapโครงสร้างข้อมูลนำมาใช้ใน ECMAScript 6 อย่างไร เนื่องจากคีย์ของแผนที่ที่อ่อนแอสร้างการอ้างอิงที่แข็งแกร่งกับค่าที่สอดคล้องกันเพื่อให้มั่นใจว่าค่าที่ถูกแทรกลงในแผนที่ที่อ่อนแอจะไม่หายไปตราบใดที่คีย์ของมันยังมีชีวิตอยู่จึงไม่สามารถใช้สำหรับตารางบันทึกได้ แคชหรือสิ่งอื่นใดที่ปกติแล้วคุณจะใช้การอ้างอิงที่อ่อนแอแผนที่ที่มีค่าต่ำเป็นต้น ฉันดูเหมือนว่าสิ่งนี้: weakmap.set(key, value); ... เป็นเพียงวิธีวงเวียนในการพูดแบบนี้: key.value = value; กรณีการใช้งานของฉันหายไปอย่างเป็นรูปธรรม

10
การแพร่กระจายของวัตถุกับ Object.assign
สมมติว่าฉันมีoptionsตัวแปรและฉันต้องการตั้งค่าเริ่มต้นบางอย่าง ประโยชน์ / ข้อเสียของสองตัวเลือกนี้คืออะไร ใช้การแพร่กระจายวัตถุ options = {...optionsDefault, ...options}; หรือใช้ Object.assign options = Object.assign({}, optionsDefault, options); นี่คือความมุ่งมั่นที่ทำให้ฉันประหลาดใจ

25
วิธีอัปเดตคุณสมบัติสถานะซ้อนใน React
ฉันกำลังพยายามจัดระเบียบสถานะของฉันโดยใช้คุณสมบัติที่ซ้อนกันเช่นนี้: this.state = { someProperty: { flag:true } } แต่การอัพเดทสถานะเช่นนี้ this.setState({ someProperty.flag: false }); ไม่ทำงาน สิ่งนี้สามารถทำได้อย่างถูกต้อง?

1
ฉันจะสร้างชื่อแทนการนำเข้าเริ่มต้นใน Javascript ได้อย่างไร?
เมื่อใช้โมดูล ES6 ฉันรู้ว่าฉันสามารถตั้งชื่อแทนการนำเข้าได้ import { foo as bar } from 'my-module'; และฉันรู้ว่าฉันสามารถนำเข้าการนำเข้าเริ่มต้น import defaultMember from 'my-module'; ฉันต้องการนามแฝงการนำเข้าเริ่มต้นและฉันคิดว่าสิ่งต่อไปนี้จะได้ผล import defaultMember as alias from 'my-module'; แต่นั่นส่งผลให้เกิดข้อผิดพลาดในการแยกวิเคราะห์ (ไวยากรณ์) ฉันจะสร้างชื่อแทนการนำเข้าเริ่มต้นได้อย่างไร (หรือฉันสามารถ?)

7
แรงจูงใจในการนำสัญลักษณ์ไป ES6 คืออะไร?
อัปเดต : เมื่อเร็ว ๆ นี้บทความยอดเยี่ยมจาก Mozillaขึ้นมา อ่านถ้าคุณอยากรู้ ดังที่คุณอาจทราบว่าพวกเขากำลังวางแผนที่จะรวม Symbol แบบดั้งเดิมใหม่ใน ECMAScript 6 (ไม่ต้องพูดถึงสิ่งที่บ้าอื่น ๆ ) ฉันมักจะคิดว่าความ:symbolคิดในทับทิมนั้นไม่จำเป็น เราสามารถใช้สตริงธรรมดาได้อย่างง่ายดายแทนเช่นที่เราทำใน JavaScript และตอนนี้พวกเขาตัดสินใจที่จะทำให้สิ่งต่าง ๆ ใน JS ซับซ้อนขึ้น ฉันไม่เข้าใจแรงจูงใจ มีคนอธิบายให้ฉันฟังว่าเราต้องการสัญลักษณ์ใน JavaScript จริงหรือ

27
วิธีการเพิ่มหลายคลาสให้กับส่วนประกอบ ReactJS
ฉันใหม่สำหรับ ReactJS และ JSX และฉันมีปัญหาเล็กน้อยกับรหัสด้านล่าง ฉันกำลังพยายามเพิ่มคลาสหลายคลาสให้กับclassNameแอตทริบิวต์ของแต่ละรายการli: <li key={index} className={activeClass, data.class, "main-class"}></li> องค์ประกอบ React ของฉันคือ: var AccountMainMenu = React.createClass({ getInitialState: function() { return { focused: 0 }; }, clicked: function(index) { this.setState({ focused: index }); }, render: function() { var self = this; var accountMenuData = [ { name: "My Account", …

16
นำทางแบบเป็นโปรแกรมโดยใช้ react router V4
ฉันเพิ่งเปลี่ยนreact-routerจาก v3 เป็น v4 แต่ผมไม่แน่ใจว่าจะเลื่อนโปรแกรมในฟังก์ชั่นสมาชิกของ Componentนั่นคือในhandleClick()ฟังก์ชั่นที่ฉันต้องการนำทาง/path/some/whereหลังจากประมวลผลข้อมูล ฉันเคยทำโดย: import { browserHistory } from 'react-router' browserHistory.push('/path/some/where') แต่ฉันไม่พบอินเทอร์เฟซดังกล่าวใน v4 ฉันจะนำทางโดยใช้ v4 ได้อย่างไร

15
การประกาศค่าคงที่ในคลาส ES6?
ฉันต้องการใช้ค่าคงที่ใน a classเพราะนั่นเป็นสิ่งที่สมเหตุสมผลที่จะหาค่าเหล่านี้ในโค้ด จนถึงตอนนี้ฉันได้ใช้วิธีแก้ปัญหาต่อไปนี้ด้วยวิธีการคงที่: class MyClass { static constant1() { return 33; } static constant2() { return 2; } // ... } ฉันรู้ว่ามีความเป็นไปได้ที่จะเล่นซอกับต้นแบบ แต่หลายคนแนะนำให้ต่อต้านสิ่งนี้ มีวิธีที่ดีกว่าในการใช้ค่าคงที่ในคลาส ES6 หรือไม่?

4
module.exports เทียบกับค่าเริ่มต้นการส่งออกใน Node.js และ ES6
ความแตกต่างระหว่างโหนดmodule.exportsและ ES6 คือexport defaultอะไร? ฉันพยายามคิดว่าทำไมฉันถึงได้รับข้อผิดพลาด "__ ไม่ใช่ตัวสร้าง" เมื่อฉันพยายามexport defaultใน Node.js 6.2.2 งานอะไร 'use strict' class SlimShady { constructor(options) { this._options = options } sayName() { return 'My name is Slim Shady.' } } // This works module.exports = SlimShady อะไรไม่ทำงาน 'use strict' class SlimShady { constructor(options) { this._options = options …

20
ฉันจะโคลนวัตถุ JavaScript ยกเว้นรหัสเดียวได้อย่างไร
ฉันมีวัตถุ JS แบน: {a: 1, b: 2, c: 3, ..., z:26} ฉันต้องการโคลนวัตถุยกเว้นองค์ประกอบหนึ่ง: {a: 1, c: 3, ..., z:26} วิธีที่ง่ายที่สุดในการทำเช่นนี้คืออะไร (เลือกที่จะใช้ es6 / 7 ถ้าเป็นไปได้)?

8
เหตุใดชื่อ 'ให้' จึงถูกเลือกสำหรับการประกาศตัวแปรที่ถูกบล็อกขอบเขตใน JavaScript
ฉันเข้าใจว่าเหตุใดจึงvarใช้ชื่อนั้น - เป็นตัวแปรconst- เป็นค่าคงที่ แต่ความหมายเบื้องหลังชื่อletซึ่งมีความหมายต่อบล็อกปัจจุบันคืออะไร ช่างมันเถอะ?

26
กรองคุณสมบัติของวัตถุตามคีย์ใน ES6
สมมติว่าฉันมีวัตถุ: { item1: { key: 'sdfd', value:'sdfd' }, item2: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } ฉันต้องการสร้างวัตถุอื่นโดยการกรองวัตถุด้านบนดังนั้นฉันจึงมีสิ่งที่ชอบ { item1: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } ฉันกำลังมองหาวิธีที่สะอาดเพื่อทำสิ่งนี้ให้สำเร็จโดยใช้ Es6 ดังนั้นฉันจึงมีตัวดำเนินการกระจาย

3
init bower - ความแตกต่างระหว่าง amd, es6, globals และ node
ฉันกำลังสร้างองค์ประกอบ Bower แรกของฉัน หลังจากเรียกใช้bower initสคริปต์ถามฉันว่า 'แพคเกจนี้เปิดเผยโมดูลประเภทใด?' ด้วยตัวเลือกเหล่านี้: เอเอ็มดี ES6 Globals ปม ความแตกต่างระหว่างตัวเลือกเหล่านี้คืออะไร?

12
Map vs Object ใน JavaScript
ฉันเพิ่งค้นพบ chromestatus.com และหลังจากสูญเสียเวลาหลายชั่วโมงในหนึ่งวันฉันพบรายการคุณลักษณะนี้ : แผนที่: วัตถุแผนที่คือแผนที่คีย์ / ค่าแบบง่าย นั่นทำให้ฉันสับสน วัตถุ JavaScript ปกติเป็นพจนานุกรมดังนั้นจึงMapแตกต่างจากพจนานุกรมอย่างไร ตามหลักการแล้วมันเหมือนกัน (ตาม แผนที่และพจนานุกรมแตกต่างกันอย่างไร ) การอ้างอิง Chromestatus เอกสารไม่ได้ช่วย: วัตถุแผนที่คือชุดของคู่ของคีย์ / ค่าที่ทั้งกุญแจและค่าอาจเป็นค่าภาษา ECMAScript โดยพลการ ค่าคีย์ที่แตกต่างกันอาจเกิดขึ้นได้ในคู่ของคีย์ / ค่าภายในคอลเล็กชันของแผนที่เท่านั้น ค่าของคีย์ที่แตกต่างซึ่งจำแนกโดยใช้อัลกอริทึมการเปรียบเทียบที่เลือกเมื่อสร้างแผนที่ วัตถุแผนที่สามารถวนองค์ประกอบในลำดับการแทรก วัตถุแผนที่จะต้องดำเนินการโดยใช้ตารางแฮชหรือกลไกอื่น ๆ ที่โดยเฉลี่ยให้เวลาการเข้าถึงที่ไม่เชิงเส้นกับจำนวนขององค์ประกอบในคอลเลกชัน โครงสร้างข้อมูลที่ใช้ในข้อกำหนดคุณสมบัติวัตถุแผนที่นี้มีวัตถุประสงค์เพื่ออธิบายความหมายที่สังเกตได้ของวัตถุแผนที่เท่านั้น มันไม่ได้ตั้งใจจะเป็นรูปแบบการใช้งานได้จริง ... ยังฟังดูเหมือนวัตถุกับฉันดังนั้นฉันจึงพลาดบางอย่างไป ทำไมจาวาสคริปต์ถึงได้รับMapออบเจ็กต์(สนับสนุนอย่างดี) ? มันทำอะไร?

2
ฉันควรใช้ typescript หรือไม่ หรือฉันสามารถใช้ ES6 ได้ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ งานประจำวันของฉันคือผู้พัฒนาลูกค้าโดยใช้ AngularJS เรากำลังประเมินว่าเราต้องการไปกับ TypeScript หรือไม่ ฉันทำการค้นคว้าเกี่ยวกับ typescript และเกือบทุกแพคเกจ JavaScript ที่ฉันต้องการจะต้องมีไฟล์ประเภทคำจำกัดความ ฉันพบว่าไม่สะดวกมากโดยเฉพาะถ้าฉันต้องการลองอะไรใหม่ ๆ และพวกเขาไม่มีคำจำกัดความสำหรับมัน มันน่าผิดหวังจริงๆ (แม้แต่นิยาม jQuery ปัจจุบันยังทำให้ฉันมีปัญหาถ้าฉันต้องการใช้ typescript 1.5 เบต้า) ฉันเริ่มดู ES6 และดูเหมือนว่า TypeScript ฉันควรใช้ ES6 แทนไหม นอกจากนี้ฉันได้ยินมาว่า angular 2 จะได้รับการสนับสนุนอย่างเต็มที่สำหรับ TypeScript นั่นเป็นเหตุผลหนึ่งที่ฉันควรจะอยู่กับมันหรือไม่

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