Articles of ecmascript 6

Funzione freccia senza parentesi graffe

Sono nuovo sia per ES6 che per React e continuo a vedere le funzioni delle frecce. Perché alcune funzioni freccia usano parentesi graffe dopo la freccia grassa e alcune usano parentesi? Per esempio: const foo = (params) => ( Content ); vs. const handleBar = (e) => { e.preventDefault(); dispatch(‘logout’); }; Grazie per qualsiasi aiuto!

ES6: chiama il metodo statico all’interno di una class

Ho questa class che fa una chiamata interna a un metodo statico: export class GeneralHelper extends BaseHelper{ static is(env){ return config.get(‘env:name’) === env; } static isProd(){ return GeneralHelper.is(‘prod’); } } Ci sono parole chiave che posso usare per sostituire il nome della class nella riga sottostante: GeneralHelper.is(‘prod’); In PHP ci sono self , static ecc. […]

Come posso importare condizionatamente un modulo ES6?

Devo fare qualcosa come: if (condition) { import something from ‘something’; } // … if (something) { something.doStuff(); } Il codice sopra non viene compilato; genera SyntaxError: … ‘import’ and ‘export’ may only appear at the top level . Ho provato a usare System.import come mostrato qui , ma non so da dove viene il […]

Non è ansible richiedere () il valore di esportazione predefinito in Babel 6.x

In Babel 5.x, posso scrivere il seguente codice: app.js export default function (){} index.js require(‘babel/register’); require(‘./app’)(); Quindi, posso eseguire node index.js senza errori. Tuttavia, usando Babel 6.x, eseguendo il seguente codice index.es6.js require(‘babel-core/register’); require(‘./app’)(); genera un errore require (…) non è una funzione Voglio sapere perché?

Evidenziazione della syntax di Visual Studio 2015 JSX / ES2015

Come posso ottenere un’evidenziazione della syntax corretta in Visual Studio 2015 per JSX con codice ES2015? Funziona bene se rimuovo le parole chiave di import ed export : Ho appena aggiornato Visual Studio 2015 Enterprise Update 1 ma rimane sempre lo stesso.

Importazione ES6 utilizzando a (‘@’) accedi percorso in un progetto vue.js utilizzando Webpack

Sto iniziando un nuovo progetto vue.js quindi ho usato lo strumento vue-cli per impalcare un nuovo progetto webpack (cioè vue init webpack ). Mentre stavo camminando tra i file generati ho notato le seguenti importazioni nel file src/router/index.js : import Vue from ‘vue’ import Router from ‘vue-router’ import Hello from ‘@/components/Hello’ // <- this one […]

La mappa di array ES6 non restituisce nulla: ReactJS

Ho una matrice e ho un valore stringa semplice. Voglio mappare la mia matrice perché sto cercando di trovare il mio valore di stringa. Ho un codice come questo, ma la funzione mappa non restituisce nulla: / class Application extends React.Component { constructor(){ super(); this.state = { questionAnswer: ‘is that possible’, question: [‘is’, ‘possible’, ‘that’] […]

javascript es6 array feature “operatore di spread”

Mi sono imbattuto in questo codice di esempio e sono completamente perso. const addCounter = (list) => { return […list, 0]; // This is the bit I am lost on, and I don’t know about […list, 0] } Apparentemente quanto sopra è uguale al seguente: const addCounter = (list) => { return list.concat([0]); } Ogni […]

Parametro della funzione di destrutturazione ES6: denominazione dell’object radice

C’è un modo per mantenere il nome di un argomento di funzione destrutturato? Vale a dire il nome dell’object radice? In ES5, potrei farlo (usando l’ereditarietà come metafora per fare il punto): // ES5: var setupParentClass5 = function(options) { textEditor.setup(options.rows, options.columns); }; var setupChildClass5 = function(options) { rangeSlider.setup(options.minVal, options.maxVal); setupParentClass5(options); // <= we pass the […]

Istanza di class anonima – è una ctriggers idea?

In ES6 possiamo fare classi anonime: var entity = class { } Ma possiamo anche istanziarlo: var entity = new class { constructor(name) { this.name = name; } getName() { return this.name; } }(‘Foo’); console.log(entity.getName()); // Foo Che cosa si fa dietro, quale vantaggio porterà e quali caveat porter?