คำถามติดแท็ก destructuring

11
หนึ่งซับเพื่อนำคุณสมบัติบางอย่างจากวัตถุใน ES 6
วิธีหนึ่งสามารถเขียนฟังก์ชั่นซึ่งใช้เพียงไม่กี่คุณลักษณะในวิธีกะทัดรัดที่สุดใน ES6? ฉันคิดวิธีแก้ปัญหาโดยใช้ destructuring + วัตถุที่ทำให้เข้าใจง่าย แต่ฉันไม่ชอบรายการของฟิลด์ซ้ำในรหัส มีวิธีการที่บางกว่าหรือไม่? (v) => { let { id, title } = v; return { id, title }; }

16
เป็นไปได้ไหมที่จะทำลายโครงสร้างลงบนวัตถุที่มีอยู่ (Javascript ES6)
เช่นถ้าฉันมีวัตถุสองชิ้น: var foo = { x: "bar", y: "baz" } และ var oof = {} และฉันต้องการถ่ายโอนค่า x และ y จาก foo ไปยัง oof มีวิธีการทำเช่นนั้นโดยใช้ไวยากรณ์ destructuring es6 หรือไม่? อาจจะชอบ: oof{x,y} = foo

3
ประเภทในการทำลายโครงสร้างวัตถุ
นี้ const { foo: IFoo[] } = bar; และนี่ const { foo: Array<IFoo> } = bar; จะทำให้เกิดข้อผิดพลาดอย่างสมเหตุสมผล และนี่ const { foo: TFoo } = bar; จะทำลายโครงสร้างTFooทรัพย์สิน สามารถระบุประเภทสำหรับคุณสมบัติของวัตถุที่ถูกทำลายได้อย่างไร

4
วงเล็บปีกกาในคำสั่ง `var {…} = …` ทำอะไร?
ไม่แน่ใจว่านี่เป็นไวยากรณ์ JS เฉพาะของ Mozilla หรือไม่ แต่ฉันมักพบตัวแปรที่ประกาศด้วยวิธีนี้เช่นในเอกสาร SDK เสริม : var { Hotkey } = require("sdk/hotkeys"); และใน Chrome Javascript ต่างๆ (ใช้letคำสั่งแทนvar) let { classes: Cc, interfaces: Ci, results: Cr, utils: Cu } = Components; ผมพบว่ามันทำให้เกิดความสับสนมาก แต่ผมไม่สามารถที่จะหาเอกสารใด ๆ เกี่ยวกับไวยากรณ์ทั้งแม้ในMDN

12
ทำลายโครงสร้างเพื่อรับองค์ประกอบสุดท้ายของอาร์เรย์ใน es6
ในกาแฟนี่ตรงไปตรงมา: 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 …

13
การกำหนดตัวแปร JavaScript จาก tuples
ในภาษาอื่น ๆ เช่น Python 2 และ Python 3 คุณสามารถกำหนดและกำหนดค่าให้กับตัวแปรทูเปิลและเรียกดูค่าได้ดังนี้: tuple = ("Bob", 24) name, age = tuple print(name) #name evaluates to Bob print(age) #age evaluates to 24 มีอะไรที่คล้ายกันใน JavaScript หรือไม่? หรือฉันต้องทำแบบที่น่าเกลียดด้วยอาร์เรย์: tuple = ["Bob", 24] name = tuple[0] //name Evaluates to Bob age = tuple[1] //age Evaluates to 24 มีวิธีที่ดีกว่าในการจำลอง …

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

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 } แต่ฉันไม่แน่ใจว่าแนวทางที่ดีที่สุดคืออะไรกับพารามิเตอร์ฟังก์ชัน …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.