252 votes

Comment mettre des variables à l'intérieur des chaînes de caractères Javascript?

s = 'bonjour %s, comment vas-tu' % (mon_nom)

C'est ainsi que vous le faites en python. Comment pouvez-vous le faire en javascript/node.js ?

2 votes

Je suis sûr qu'il y avait un épouvantail es-next quelque part pour faire var s = 'hello ${my_name}, how are you doing';

1 votes

J'utilise comme l'a dit Raynos: `const poem = "La rivière noire"; const author = "Joseph Troll"; const favePoem = `Mon poème préféré est ${poem} de ${author}\`; Ou vous pouvez utiliser: console.log('%s est %d.', 'Onze', 11);

3 votes

La modélisation normale est disponible depuis des années maintenant MAIS VOUS DEVEZ UTILISER LES BACKTICKS stackoverflow.com/a/37245773/294884 stackoverflow.com/a/37245773/294884 stackoverflow.com/a/37245773/294884 stackoverflow.com/a/37245773/294884

4voto

leo Points 11
var print = console.log;

function dformat(str, ...arr) {
  return str.replace(/%(\d+)/g, function(_,i) {
    return arr[--i];
  });
}

function wformat(str, dict) {
  return str.replace(/%(\w+)/g, function(_,k) {
    return dict[k];
  });
}

function sformat(str, dict) {
  return str.replace(/\$(\w+)/g, function(_,m) {
    return dict[m];
  });
}

function tformat(str, dict) {
  return str.replace(/\${(\w+)}/g, function(_,m) {
    return dict[m];
  });
}

print(1, dformat("uid:%1, name:%2", 120, "someone") )
print(2, wformat("color: %name", {name: "green"})   )
print(3, sformat("img: $url", {url: "#"})   )
print(4, tformat("${left} ${right}", {right:"1000", left: "7fff"}) )

3voto

cstuncsik Points 1315
const format = (...args) => args.shift().replace(/%([jsd])/g, x => x === '%j' ? JSON.stringify(args.shift()) : args.shift())

const name = 'Csaba'
const formatted = format('Hi %s, today is %s and your data is %j', name, Date(), {data: {country: 'Hungary', city: 'Budapest'}})

console.log(formatted)

2voto

Termi Points 388
var user = "votre nom";
var s = 'bonjour ' + user + ', comment ça va';

1voto

Voici un exemple de chaîne de caractères multi-lignes en Node.js.

> let name = 'Fred'
> tm = `Cher ${name},
... Ceci est pour vous informer, ${name}, que vous êtes
... EN INFRACTION de l'article 64.302-4 du Code pénal.
... Rendez-vous IMMÉDIATEMENT !
... CECI VEUT DIRE TOI, ${name} !!!
...
... `
'Cher Fred,\nCeci est pour vous informer, Fred, que vous êtes\nEN INFRACTION de l'article 64.302-4 du Code pénal.\nRendez-vous IMMÉDIATEMENT !\nCECI VEUT DIRE TOI, Fred !!!\n\n'
console.log(tm)
Cher Fred,
Ceci est pour vous informer, Fred, que vous êtes
EN INFRACTION de l'article 64.302-4 du Code pénal.
Rendez-vous IMMÉDIATEMENT !
CECI VEUT DIRE TOI, Fred !!!

undefined
>

1voto

Ahmed Hany Points 16

Vous pouvez implémenter votre propre fonction de formatage qui prend une chaîne et des paires clé-valeur.

la fonction:

function format(str, args) {
    return str.replace(/%(\w+)/g, (_, key) => args[key]);
}

const message = "Bonjour, %name! Comment ça va?";
const args = {
    name: "Alice"
};

const formattedMessage= format(message, args);

Prograide.com

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.

Powered by:

X