Saya belum pernah melihat sintaks ini sebelumnya dan saya bertanya-tanya tentang apa itu semua.
var { Navigation } = require('react-router');
Tanda kurung di sebelah kiri menampilkan kesalahan sintaks:
token tak terduga {
Saya tidak yakin bagian mana dari konfigurasi webpack yang berubah atau apa tujuan sintaksnya. Apakah itu hal Harmoni? Bisakah seseorang mencerahkan saya?
javascript
webpack
ecmascript-6
captainill
sumber
sumber
webpack.config.js
Anda mungkin memilikijsx-loader
denganharmony
bendera diaktifkanJawaban:
Ini disebut tugas penghancuran dan itu bagian dari standar ES2015 .
Perusakan objek
Array destructuring
sumber
var {newVarName: oldVarName} = varSource;
terlihat sangat mirip{ newVarName: varSource.oldVarName }
atauscope.newVarName = varSource.oldVarName;
, tetapi itu jelas salah. Apakah ada alasan praktis untuk memiliki nama lama / yang sudah ada di sebelah kiri:
?Ini adalah tugas yang merusak . Ini adalah fitur baru ECMAScript 2015.
Apakah setara dengan:
sumber
... menggunakan perusakan untuk mencapai hal yang sama seperti ...
... tetapi jauh lebih mudah dibaca.
sumber
Ini adalah fitur baru di ES6 untuk merusak objek.
Seperti yang kita semua tahu bahwa ada operasi penugasan yang terjadi di sini, Yang berarti nilai sisi kanan ditugaskan ke variabel sisi kiri.
Dalam kasus ini
require('react-router')
metode mengembalikan objek dengan pasangan nilai kunci beberapa hal seperti{ Navigation: function a(){}, Example1: function b(){}, Example2: function c(){} }
.Dan jika kita ingin mengambil satu kunci di objek yang dikembalikan, katakan
Navigation
ke variabel, kita bisa menggunakan Object destructing untuk itu.Ini hanya akan mungkin hanya jika kita memiliki pegangan kunci.
Jadi, setelah pernyataan penugasan, variabel lokal
Navigation
akan berisifunction a(){}
Contoh lain terlihat seperti ini.
sumber