This really is a must read for any JavaScript-based developer. I have written this article as a vital source of reference for learning shorthand JavaScript coding techniques that I have picked up over the years. To help you understand what is going on I have included the longhand versions to give some coding perspective.
June 14th, 2017: This article was updated to add new shorthand tips based on ES6. If you want to learn more about the changes in ES6, sign up for SitePoint Premium and check out our screencast A Look into ES6
This is a great code saver when you want to write an if..else statement in just one line.
Longhand:
const x = 20;
let big;
if (x > 10) {
big = true;
} else {
big = false;
}
Shorthand:
const big = x > 10 ? true : false;
You can also nest your if statement like this:
const big = x > 10 ? " greater 10" : x < 5 ? "less 5" : "between 5 and 10";
When assigning a variable value to another variable, you may want to ensure that the source variable is not null, undefined or empty. You can either write a long if statement with multiple conditionals, or use a short-circuit evaluation.
Longhand:
if (variable1 !== null || variable1 !== undefined || variable1 !== '') {
let variable2 = variable1;
}
Shorthand:
const variable2 = variable1 || 'new';
Don’t believe me? Test it yourself (paste the following code in es6console):
let variable1;
let variable2 = variable1 || '';
console.log(variable2 === ''); // prints true
variable1 = 'foo';
variable2 = variable1 || '';
console.log(variable2); // prints foo
It is good practice to declare your variable assignments at the beginning of your functions. This shorthand method can save you lots of time and space when declaring multiple variables at the same time.
Longhand:
let x;
let y;
let z = 3;
Shorthand:
let x, y, z=3;
This might be trivial, but worth a mention. When doing “if checks”, assignment operators can sometimes be omitted.
Longhand:
if (likeJavaScript === true)
Shorthand:
if (likeJavaScript)
Here is another example. If “a” is NOT equal to true, then do something.
Longhand:
let a;
if ( a !== true ) {
// do something...
}
Shorthand:
let a;
if ( !a ) {
// do something...
}
This little tip is really useful if you want plain JavaScript and not rely on external libraries such as jQuery or lodash.
Longhand:
for (let i = 0; i < allImgs.length; i++)
Shorthand:
for (let img in allImgs)
Shorthand for Array.forEach:
function logArrayElements(element, index, array) {
console.log("a[" + index + "] = " + element);
}
[2, 5, 9].forEach(logArrayElements);
// logs:
// a[0] = 2
// a[1] = 5
// a[2] = 9
Instead of writing six lines of code to assign a default value if the intended parameter is null or undefined, we can simply use a short-circuit logical operator and accomplish the same thing with just one line of code.
Longhand:
let dbHost;
if (process.env.DB_HOST) {
dbHost = process.env.DB_HOST;
} else {
dbHost = 'localhost';
}
Shorthand:
const dbHost = process.env.DB_HOST || 'localhost';
You may have seen this one around. It’s essentially a fancy way to write numbers without the trailing zeros. For example, 1e7 essentially means 1 followed by 7 zeros. It represents a decimal base (which JavaScript interprets as a float type) equal to 10,000,000.
Longhand:
for (let i = 0; i < 10000; i++) {}
Shorthand:
for (let i = 0; i < 1e7; i++) {}
// All the below will evaluate to true
1e0 === 1;
1e1 === 10;
1e2 === 100;
1e3 === 1000;
1e4 === 10000;
1e5 === 100000;
Defining object literals in JavaScript makes life much easier. ES6 provides an even easier way of assigning properties to objects. If the property name is the same as the key name, you can take advantage of the shorthand notation.
Longhand:
const obj = { x:x, y:y };
Shorthand:
const obj = { x, y };
Classical functions are easy to read and write in their plain form, but they do tend to become a bit verbose and confusing once you start nesting them in other function calls.
Longhand:
function sayHello(name) {
console.log('Hello', name);
}
setTimeout(function() {
console.log('Loaded')
}, 2000);
list.forEach(function(item) {
console.log(item);
});
Shorthand:
sayHello = name => console.log('Hello', name);
setTimeout(() => console.log('Loaded'), 2000);
list.forEach(item => console.log(item));
Longhand:
function calcCircumference(diameter) {
return Math.PI * diameter
}
Longhand:
calcCircumference = diameter => Math.PI * diameter;
You can use the if statement to define default values for function parameters. In ES6, you can define the default values in the function declaration itself.
Continue reading %19+ JavaScript Shorthand Coding Techniques%
Le constructeur 8BitDo dévoile SNES30 Pro, une réplique modernisée de manette Super Nintendo, compatible avec la Nintendo Switch. Parfaite pour le rétrogaming ?
Après dune semaine d'utilisation, Jérôme vous livre ses impressions sur le nouveau bébé de Samsung. Après une année en demi teinte du côté du constructeur, Note 7 qui fini en combustible pour BBQ et le galaxy S7 qui a redonné des couleurs à Samsung, la marque propose son nouveau flagship, le Galaxy S8. Pour éviter > Lire la suite
Cet article merveilleux et sans aucun égal intitulé : Galaxy S8 : vers l’infinity et au-delà ? test complet ; a été publié sur Korben, le seul site qui t'aime plus fort que tes parents.
Android étant l’OS mobile le plus populaire du marché, il est normal que le Play Store connaisse le même succès et stimule la créativité des développeurs. Il est toutefois parfois difficile de faire le tri entre les bonnes applications et les Flop, tant le nombre d’Apps dans chaque catégorie est colossal.
Web2day + Uber + Nicolas Halftermeyer (ex-Parrot)
Si vous suivez l’actualité High-tech, vous n’avez pas pu rater l’attaque WannaCry qui avait suivi la publication de certaines failles de sécurité dérobées aux agences de surveillance américaines par le groupe Shadow Brokers, obligeant Microsoft à sortir des patch en urgence, y compris sur Windows XP. L’entreprise doit une nouvelle fois renouveler l’exercice…
Quelques mises à jour pour le Safety Check de Facebook.
Vue Tetris * BEM by Example * Bojler * Creative Portfolios * Topol.io * Spellbook of Modern Web Dev * Dropdowns: Design Guidelines
Collective #323 was written by Pedro Botelho and published on Codrops.
Access to a vast array if readily available fonts is a nice to have. But, conducting a manual search to find just the right one to fill a specific need can be time consuming. If you’re busy designing websites, you probably have plenty of other things to do. Wouldn’t it be nice to have a […]
The post Need Some Help in Finding Just the Right Font? appeared first on Line25.
Une personne sur trois en France dort mal. Autant de clients potentiels pour les appareils intelligents qui visent à adoucir les nuits de leurs utilisateurs.
This bundle contains a total of 36 fun, colorful line icons made in Illustrator, they come separated in three categories with 12 icons each for transportation, kitchen, and musical instruments, and they are completely free for personal and commercial use.
Snips lance une plateforme vocale qui doit permettre de doter tout appareil d’un assistant vocal. Explications avec son fondateur, Rand Hindi.
La start-up compte 3 équipes réparties dans trois pays différents.
Qualcomm facilite le développement des haut-parleurs connectés.
L'éditeur de la plateforme met à disposition un nouveau plug-in gratuit pour recevoir des transactions internationales.
La jeune pousse française prévoit notamment de se lancer en Allemagne et au Royaume-Uni.
Notion a mis au point une technologie intégrée à des capteurs qui peuvent être placés sur des portes, des fenêtres et des appareils ménagers.
Quelques exemples clés de brand content qui montrent à quel point le contenu est un véhicule naturel vers l’achat.
Dairy is a new Sketch UI kit that you can use for inspiration when you need to get started with a minimal and clean photography app concept.
The post Dairy: A free Sketch UI kit for minimal apps appeared first on Freebiesbug.
L'IA vocale d'Alphabet répond à 68,1% des questions de culture générale, contre 20,7% pour Alexa d'Amazon. Ses réponses sont exactes dans 90,6% des cas.
Nous aurions pu en retenir mille et une, nous avons préféré nous concentrer sur les 10 recommandations...
Les frais d’itinérance en Europe disparaîtront le 15 juin et l’opérateur Free a décidé de faire évoluer ses forfaits.
Tour d’horizon de l’actualité économique et numérique de New York, avec Christophe Garnier.
You may have heard that “conversational interfaces” are the new hot trend in digital product design. Industry leaders such as Apple, Google, Microsoft, Amazon and Facebook are strongly focussed on building a new generation of conversational interfaces. Several trends are contributing to this phenomenon—artificial intelligence and natural language processing technologies are progressing rapidly—but the main […]
Les musulmans peuvent maintenant utiliser la réalité augmentée pour trouver la bonne direction pour prier.
La plus grosse levée de fonds, celle de Vestiaire Collective pour un montant de 58 millions d'euros, représente à elle seule 45% des montants investis.
Ce mois-ci, Tapbuy s'intéresse au secteur de la décoration en opposant les tunnels d'achat mobile de deux leaders français.
L’un des secrets de Polichinelle de la Silicon Valley.
En avril 2017, Médiamétrie dénombrait plus de 45,1 millions d'internautes en France.
L'épicerie 100% digitale d'Amazon a donné des idées à d'autres magasins.
Merci ! Grâce à vous le roadshow WTT est la manifestation francophone professionnelle consacrée au développement la plus fréquentée au monde pic.twitter.com/EVTxde4qAH - PC SOFT (@PCSOFT_FR) June 14, 2017
Voici une sélection d'outils novateurs pour les marchands qui souhaitent augmenter leurs ventes et leurs marges sur Amazon.
Dans un délais de 24 heures, les ateliers de carrosserie peuvent fournir des estimations personnalisées et certifiées pour les coûts de réparation.
Dell a fait une annonce qui n’est pas vraiment passée inaperçue. Le constructeur va en effet booster la puissance des Alienware Area-51 en proposant des configurations remises au goût du jour.
Le navigateur Google Chrome est à même d'ouvrir de nombreux formats de fichiers. Il prend en charge les formats d'images y compris les fichiers SVG (images vectorielles) et ICO (icônes). Le navigateur ouvre aussi les fichiers PDF pour qu'on puisse les lire depuis un onglet. C'est d'ailleurs un programme de lecture de documents PDF tout […]
Lorsque le site d’une marque connaît mieux le client que le vendeur, il y a un vrai problème.
Google pourrait encore plus ressembler à Apple.
Le très attendu Super Mario Odyssey sera disponible le 27 octobre prochain sur Nintendo Switch, accompagné de trois nouveaux Amiibo. Découvrez le nouveau trailer et une large vidéo de gameplay dans la suite.
«Nous avons plus de 3 500 créateurs de contenu dans 70 pays.»
Les développeurs·ses Java – Java EE sont particulièrement recherchés par les ESN (Entreprise de Services du Numérique) pour leurs clients grands comptes : banques, institutions publiques etc. Que signifie Java EE ? Java EE signifie « Java Enterprise Edition », il s’agit d’une plateforme prévue pour le développement d’applications réservées à des utilisations professionnelles. En
Lire la suite
Donnez du sens à votre alternance ! Au démarrage, Capgemini était une start-up. 50 ans plus tard, elle continue de réinventer l’informatique. Capgemini est également à la poursuite d’une ambition : se renouveler chaque jour pour être aux avant-postes des transformations technologiques. La mission de Capgemini ? Accompagner ses clients dans leur transformation numérique. À
Lire la suite
«Aujourd’hui, 1 colis sur 3 en France est livré chez un particulier, contre seulement 2% en 2010», note Michel Akavi, PDG de DHL Express France.