function foo() {}
var bar = foo <| function() {};
C'est la première fois que je vois quelque chose comme ça. Que signifie <|
?
Source: https://github.com/allenwb/ESnext-experiments/blob/master/ST80collections-exp1.js
function foo() {}
var bar = foo <| function() {};
C'est la première fois que je vois quelque chose comme ça. Que signifie <|
?
Source: https://github.com/allenwb/ESnext-experiments/blob/master/ST80collections-exp1.js
Maintenant que vous avez posté le lien vers la source, vous pouvez le voir dans les commentaires au début du fichier, exactement ce qu'il fait (ligne 36):
l' <| opérateur -- définit la [[Prototype]] d'un littéral...
Pour ces exemples <| utilisé avec une expression de fonction définit la [[Prototype]] de l'objet créé comme la valeur de la fonction le "prototype" de la propriété à la valeur de la "prototype" de la propriété de l' le membre de GAUCHE de l'objet. C'est en outre le réglage de la [[Prototype]] de la fonction de l'objet lui-même. En d'autres termes, elle s'inspire des jeux de la [[Prototype]] à la fois de la fonction et de la fonction.prototype de potentiellement des valeurs différentes.
Mise à jour: je viens de me souvenir à cette question que je suis tombé sur le plein ECMAScript Harmonie proposition en ce sens "littéral [[Prototype]] l'opérateur". Il y a beaucoup plus d'informations là-bas que dans la citation ci-dessus, de sorte qu'il vaut la peine de lire.
Il semble que ça devrait être
function foo() {}
var bar = foo || function() {};
Qui va affecter foo bar, si toto est défini et de lui attribuer une fonction vide de la barre autrement.
Sur le lien que vous avez posté plus tard, il n'est toujours pas valide Javascript. Le README du projet explique la finalité du fichier.
Ce projet contient des exemples de fichiers de différentes extensions de langage qui sont considérées pour inclusion dans les prochaines éditions de la ECMA Langage de Spécification. Le but des exemples est de tester l' utilitaire, writability, et la lisibilité de la proposition de fonctionnalités. Il est pas garantir que l'un de ces va effectivement être incorporés dans la de langue.
Une description de la proposition de la fonctionnalité de supports de lignes de code que vous avez collé dans votre question.
the <| operator -- defines the [[Prototype]] of a literal
/* Quote that James posted */
function foo() {};
const bar = foo <| function() {};
Object.getPrototypeOf(bar)===foo; //true
Object.getPrototypeOf(bar.prototype)===foo.prototype; //true
Cela jette une erreur de syntaxe pour moi ("jeton inattendu" sur le "|")
Pour une liste complète des opérateurs javascript, cliquez ici
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.