Tag: ecmascript 6

Comment travailler avec des variables privées dans ES6?

Dans ES5, vous pouvez imiter une classe avec des variables privées et publiques comme celle-ci: Car.js function Car() { // using var causes speed to be only available inside Car (private) var speed = 10; // public variable – still accessible outside Car this.model = "Batmobile"; // public method this.init = function(){ } } Mais […]

Accès aux valeurs de la carte dans Safari 7.1+

Safari prend en charge les cartes et ensembles ES6 dans la version 7.1 et supérieure ( MDN ). J'utilise une carte dans ma demande et, à un certain point, je veux accéder aux valeurs. L'appel de la fonction values() sur la carte semble être la voie à suivre et renvoie un Iterator. En appelant next() […]

Jslint –edition = dernière fonctionnalité ES6 inattendue. Const

J'essaie d'utiliser node-jslint https://github.com/reid/node-jslint afin de garder mon code propre J'ai un const dans mon script nodejs, mais jslint dit qu'il n'est pas valable le code ES6 Unexpected ES6 feature. const pdPersonsFilterId = process.argv[2]; // Line 10, Pos 0 Voici la commande que j'utilise dans la console jslint –edition=latest index.js Selon https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const, il est possible […]

L'utilisation de «laisser» comme nom de variable ne crée pas d'erreurs dans google v8

J'écris un code aléatoire dans la console de développement Chrome. Pour ma surprise, chrome laissez-moi utiliser let comme un nom de variable qui est complètement faux car let est un mot-clé réservé. Je dois comprendre pourquoi cela se produit. Scénarios: var const = 78 //throws an error as expected var function = 46 //throws an […]

Comment construire des sous-classes d'Immutable.Record?

class Event extends Immutable.Record { constructor(text) { super({text: text, timestamp: Date.now()}); } } Appeler un new Event() semble renvoyer une fonction constuctor: new Event('started').toString() "Function Record (values) {if (values ​​instanceof RecordType) {valeurs de retour;} Si (! (Cette instance de RecordType)) {return new RecordType (values);} Si (! HasInitialized) {hasInitialized = true; Var keys = Object.keys (defaultValues); […]

Copie en profondeur dans ES6 en utilisant le panneau de propagation

J'essaie de créer une méthode de carte de copie profonde pour mon projet Redux qui fonctionnera avec des objets plutôt que des tableaux. J'ai lu que, dans Redux, chaque état ne devait rien changer dans les états précédents. export const mapCopy = (object, callback) => { return Object.keys(object).reduce(function (output, key) { output[key] = callback.call(this, {…object[key]}); […]

Comment vérifier si une variable est une déclaration de classe ES6?

J'exporte la classe ES6 suivante à partir d'un module: export class Thingy { hello() { console.log("A"); } world() { console.log("B"); } } Et l'importer à partir d'un autre module: import {Thingy} from "thingy"; if (isClass(Thingy)) { // Do something… } Comment vérifier si une variable est une classe? Pas une instance de classe, mais une […]

'Let', 'const' et 'var' sur les fonctions globales en JavaScript

Lors de la définition d'une fonction globale, dois-je utiliser var , let ou const ? var fn = function () {}; let fn = function () {}; const fn = function () {}; Je suis ici en pensant principalement à des fonctions globales au sens C / Pascal, c'est-à-dire une fonction qui est disponible / […]

Différence entre les littéraux de modèles et les littéraux de modèles marqués?

ES6 a deux nouveaux types de littéraires: Littéraux de modèle Étiqueté des modèles littéraires. Littéraux de modèles: littéralités de chaînes multi-lignes qui prennent en charge l'interpolation. par exemple: const firstName = 'Jane'; console.log(`Hello ${firstName}! How are you today?`); Mots-clés de modèles étiquetés : sont des appels de fonction dont les paramètres sont fournis via des […]

ES6 Fat Arrow and Parentheses `(…) => ({…})`

J'ai travaillé à travers quelques exemples de Graph QL / React / Relay et j'ai rencontré une étrange syntaxe. Lors de la définition des champs dans Graph QL Objects, la syntaxe suivante est utilisée: const xType = new GraphQLObjectType({ name: 'X', description: 'A made up type for example.', fields: () => ({ field: {/*etc.*/} }) […]

JavaScript rend le site Web intelligent, beauté et facile à utiliser.