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

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

7
ES6 Map และ WeakMap ต่างกันอย่างไร
เมื่อดูสิ่งนี้และหน้า MDN นี้ดูเหมือนว่าข้อแตกต่างเพียงอย่างเดียวระหว่าง Maps และ WeakMaps คือคุณสมบัติ "ขนาด" ที่ขาดหายไปสำหรับ WeakMaps แต่นี่เป็นเรื่องจริงหรือไม่? อะไรคือความแตกต่างระหว่างพวกเขา?

3
วิธีการตั้งค่า favicon.ico อย่างถูกต้องในโครงการ vue.js webpack?
ฉันได้สร้างvue webpackโครงการโดยใช้vue-cliไฟล์. vue init webpack myproject จากนั้นรันโปรเจ็กต์ภายใต้devโหมด: npm run dev ฉันได้รับข้อผิดพลาดนี้: ไม่สามารถโหลดทรัพยากร: เซิร์ฟเวอร์ตอบสนองด้วยสถานะ 404 (ไม่พบ) http: // localhost: 8080 / favicon.ico ดังนั้นใน webpack วิธีการนำเข้าfavicon.icoอย่างถูกต้อง?

1
อะไรคือความแตกต่างระหว่าง prettier-eslint, eslint-plugin-prettier และ eslint-config-prettier?
ฉันต้องการใช้ Prettier และ ESLint ร่วมกัน แต่ฉันพบข้อขัดแย้งบางอย่างโดยใช้ทีละรายการ ฉันเห็นว่ามีสามแพ็คเกจนี้ที่ดูเหมือนจะอนุญาตให้ใช้ควบคู่กันได้: prettier-eslint eslint-plugin-prettier eslint-config-prettier อย่างไรก็ตามฉันไม่แน่ใจว่าควรใช้ชื่อแพ็คเกจใดในชื่อแพ็กเกจเหล่านี้eslintและprettier. ควรใช้ตัวไหนดี?

4
ฉันจะเข้าถึงเมธอด Object.prototype ด้วยตรรกะต่อไปนี้ได้อย่างไร
ฉันใช้ตรรกะต่อไปนี้เพื่อรับสตริง i18n ของคีย์ที่กำหนด export function i18n(key) { if (entries.hasOwnProperty(key)) { return entries[key]; } else if (typeof (Canadarm) !== 'undefined') { try { throw Error(); } catch (e) { Canadarm.error(entries['dataBuildI18nString'] + key, e); } } return entries[key]; } ฉันใช้ ESLint ในโครงการของฉัน ฉันได้รับข้อผิดพลาดต่อไปนี้: อย่าเข้าถึงเมธอด Object.prototype 'hasOwnProperty' จากออบเจ็กต์เป้าหมาย เป็นข้อผิดพลาด' ไม่มีต้นแบบในตัว ' ฉันจะเปลี่ยนรหัสเพื่อแก้ไขข้อผิดพลาดนี้ได้อย่างไร ฉันไม่ต้องการปิดใช้กฎนี้

4
“ …แก้ไขเป็นเอนทิตีที่ไม่ใช่โมดูลและไม่สามารถนำเข้าโดยใช้โครงสร้างนี้ได้” หมายความว่าอย่างไร
ฉันมีไฟล์ TypeScript บางไฟล์: MyClass.ts class MyClass { constructor() { } } export = MyClass; MyFunc.ts function fn() { return 0; } export = fn; MyConsumer.ts import * as MC from './MyClass'; import * as fn from './MyFunc'; fn(); สิ่งนี้ทำให้ฉันมีข้อผิดพลาดเมื่อพยายามใช้ new โมดูล "MyClass" แก้ไขเป็นเอนทิตีที่ไม่ใช่โมดูลและไม่สามารถนำเข้าโดยใช้โครงสร้างนี้ และเมื่อพยายามโทร fn() ไม่สามารถเรียกใช้นิพจน์ที่ไม่มีลายเซ็นการโทร สิ่งที่ช่วยให้?

2
Backticks เรียกใช้ฟังก์ชัน
ฉันไม่แน่ใจว่าจะอธิบายเรื่องนี้อย่างไร แต่เมื่อฉันวิ่ง console.log`1` ใน Google Chrome ฉันได้รับผลลัพธ์เช่น console.log`1` VM12380:2 ["1", raw: Array[1]] ทำไม backtick เรียกฟังก์ชั่นบันทึกและมันเป็นเหตุผลที่ทำให้ดัชนีของraw: Array[1]? คำถามถูกนำขึ้นมาในห้อง JS โดย Catgocat แต่ไม่มีคำตอบใดที่สมเหตุสมผลนอกจากบางสิ่งเกี่ยวกับการสร้างเทมเพลตสตริงที่ไม่เหมาะสมจริงๆว่าทำไมสิ่งนี้จึงเกิดขึ้น

6
“ Uncaught SyntaxError: ไม่สามารถใช้คำสั่งนำเข้านอกโมดูล” เมื่ออิมพอร์ต ECMAScript 6
ฉันกำลังใช้ ArcGIS JSAPI 4.12 และต้องการใช้Spatial Illusionsเพื่อวาดสัญลักษณ์ทางทหารบนแผนที่ เมื่อฉันเพิ่มmilsymbol.jsสคริปต์คอนโซลคืนข้อผิดพลาด Uncaught SyntaxError: ไม่สามารถใช้คำสั่งนำเข้านอกโมดูล ดังนั้นฉันเพิ่มtype="module"สคริปต์แล้วมันกลับมา Uncaught ReferenceError: ms ไม่ได้ถูกกำหนดไว้ นี่คือรหัสของฉัน: <link rel="stylesheet" href="https://js.arcgis.com/4.12/esri/css/main.css"> <script src="https://js.arcgis.com/4.12/"></script> <script type="module" src="milsymbol-2.0.0/src/milsymbol.js"></script> <script> require([ "esri/Map", "esri/views/MapView", "esri/layers/MapImageLayer", "esri/layers/FeatureLayer" ], function (Map, MapView, MapImageLayer, FeatureLayer) { var symbol = new ms.Symbol("SFG-UCI----D", { size: 30 }).asCanvas(3); var map = new …

6
การนำเข้า ES2015 ไม่ทำงาน (แม้ในระดับบนสุด) ใน Firefox
นี่คือไฟล์ตัวอย่างของฉัน: <!DOCTYPE html> <html> <head> <title>Test</title> <script src="t1.js"></script> </head> <body></body> </html> t1.js: import Test from 't2.js'; t2.js: export const Test = console.log("Hello world"); เมื่อฉันโหลดหน้าใน Firefox 46 มันจะส่งคืน "SyntaxError: การประกาศการนำเข้าอาจปรากฏที่ระดับบนสุดของโมดูลเท่านั้น" - แต่ฉันไม่แน่ใจว่าคำสั่งนำเข้าระดับบนสุดสามารถรับที่นี่ได้มากเพียงใด ข้อผิดพลาดนี้เป็นปลาเฮอริ่งแดงและยังไม่รองรับการนำเข้า / ส่งออกใช่หรือไม่

8
การใช้ map () บนตัววนซ้ำ
สมมติว่าเรามีแผนที่: let m = new Map();โดยใช้m.values()คืนค่าตัววนซ้ำแผนที่ แต่ฉันไม่สามารถใช้forEach()หรือmap()บน iterator ที่และการดำเนินการในขณะที่ห่วงว่า iterator ดูเหมือนว่าต่อต้านรูปแบบฟังก์ชั่นตั้งแต่ ES6 map()เสนอเช่น มีวิธีใช้map()กับ iterator หรือไม่?

1
ลิงก์ที่ใช้งานอยู่กับ React-Router?
ฉันพยายามที่ออกมาตอบสนอง-Router (v4) และฉันมีปัญหาในการเริ่มต้นออก Nav จะมีหนึ่งของLink's activeBE หากฉันคลิกที่Linkแท็กใด ๆสิ่งที่ใช้งานอยู่จะเริ่มทำงาน อย่างไรก็ตามฉันต้องการให้ Home Linkใช้งานได้ทันทีที่แอปเริ่มทำงานเนื่องจากเป็นส่วนประกอบที่โหลดใน/เส้นทาง มีวิธีใดบ้างที่จะทำเช่นนี้? นี่คือรหัสปัจจุบันของฉัน: const Router = () => ( <BrowserRouter> <div> <Nav> <Link activeClassName='is-active' to='/'>Home</Link> {/* I want this to start off as active */} <Link activeClassName='is-active' to='/about'>About</Link> </Nav> <Match pattern='/' exactly component={Home} /> <Match pattern='/about' exactly component={About} /> <Miss …

2
วัตถุ Reflect ทำอะไรใน JavaScript?
ฉันเห็นต้นขั้วว่างบน MDN เมื่อสักครู่ที่ผ่านมาสำหรับReflectวัตถุในจาวาสคริปต์ แต่ฉันไม่สามารถหาอะไรใน Google ได้ตลอดชีวิต วันนี้ฉันพบhttp://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-objectและฟังดูคล้ายกับวัตถุ Proxy นอกเหนือจากขอบเขตและฟังก์ชันตัวโหลด โดยทั่วไปฉันไม่รู้ว่าหน้านี้ฉันพบเพียงอธิบายวิธีใช้ Reflect หรือไม่หรือไม่เข้าใจถ้อยคำของมัน ใครช่วยอธิบายให้ฉันเข้าใจโดยทั่วไปว่ามีวิธีการReflectทำอย่างไร ตัวอย่างเช่นในหน้าที่ฉันพบบอกว่าการโทรReflect.apply ( target, thisArgument, argumentsList ) จะ "ส่งคืนผลลัพธ์ของการเรียกเมธอดภายใน [[Call]] ของเป้าหมายด้วยอาร์กิวเมนต์ thisArgument และ args" แต่มันต่างจากการโทรtarget.apply(thisArgument, argumentsList)อย่างไร? อัปเดต: ขอบคุณ @Blue ฉันพบหน้านี้ในวิกิ http://wiki.ecmascript.org/doku.php?id=harmony:reflect_api&s=reflect ซึ่งสิ่งที่ฉันรู้ดีที่สุดกล่าวว่าวัตถุสะท้อนให้เวอร์ชันวิธีการทั้งหมด การดำเนินการที่พร็อกซีสามารถดักจับได้เพื่อให้การส่งต่อง่ายขึ้น แต่มันดูแปลก ๆ สำหรับฉันเพราะฉันไม่เห็นว่ามันจำเป็นทั้งหมดแค่ไหน แต่ดูเหมือนว่าจะทำได้มากกว่านั้นเล็กน้อยโดยเฉพาะพาร์ที่ระบุdouble-liftingว่าชี้ไปที่ข้อมูลจำเพาะ / พร็อกซีเก่า

5
วิธีคืนสัญญามากมายและรอให้หมดก่อนทำอย่างอื่น
ฉันมีลูปที่เรียกเมธอดที่ทำสิ่งต่างๆแบบอะซิงโครนัส ลูปนี้สามารถเรียกใช้เมธอดได้หลายครั้ง หลังจากลูปนี้ฉันมีลูปอื่นที่ต้องดำเนินการก็ต่อเมื่อทำสิ่งที่ไม่ตรงกันทั้งหมด สิ่งนี้แสดงให้เห็นถึงสิ่งที่ฉันต้องการ: for (i = 0; i < 5; i++) { doSomeAsyncStuff(); } for (i = 0; i < 5; i++) { doSomeStuffOnlyWhenTheAsyncStuffIsFinish(); } ฉันไม่ค่อยคุ้นเคยกับคำสัญญามีใครช่วยฉันทำสิ่งนี้ให้สำเร็จได้บ้าง นี่คือdoSomeAsyncStuff()พฤติกรรมของฉัน: function doSomeAsyncStuff() { var editor = generateCKEditor(); editor.on('instanceReady', function(evt) { doSomeStuff(); // There should be the resolve() of the promises I think. …

3
พารามิเตอร์ฟังก์ชันทำลายโครงสร้างเอกสารใน JSDoc
ก่อนหน้านี้ฉันได้บันทึกพารามิเตอร์ออบเจ็กต์ของฉันไว้เสมอดังนี้: /** * Description of the function * * @param {Object} config - The configuration * @param {String} config.foo * @param {Boolean} [config.bar] - Optional value * @return {String} */ function doSomething (config = {}) { const { foo, bar } = config; console.log(foo, bar); // do something } แต่ฉันไม่แน่ใจว่าแนวทางที่ดีที่สุดคืออะไรกับพารามิเตอร์ฟังก์ชัน …

4
กรองหรือแมป nodelists ใน ES6
วิธีใดที่มีประสิทธิภาพที่สุดในการกรองหรือแมป nodelist ใน ES6 จากการอ่านของฉันฉันจะใช้หนึ่งในตัวเลือกต่อไปนี้: [...nodelist].filter หรือ Array.from(nodelist).filter ท่านใดจะแนะนำ และมีวิธีที่ดีกว่าเช่นโดยไม่ต้องเกี่ยวข้องกับอาร์เรย์หรือไม่?

3
Javascript object literal: {a, b, c} คืออะไร?
คำถามที่ฉันมีดีที่สุดได้รับจากjsfiddle นี้รหัสที่อยู่ด้านล่าง: var a = 1, b = 'x', c = true; var d = {a: a, b: b, c: c}; // <--- object literal var e = [a, b, c]; // <--- array var f = {a, b, c}; // <--- what exactly is this?? // these all give …

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