javascript - typescript solicitând literal de șablon


Folosesc TypeScript și se plânge când concatenez un șir de caractere,

  const content = senderDisplay + ', '+ moment(timestamp).format('YY/MM/DD')+' at ' + moment(timestamp).format('h:mm A');

[tslint] Folosește un literal de tip șablon în loc să concatenezi cu un literal de tip șir. (prefer-template)

Care este literalul șablon pentru a rezolva asta? Mulțumesc

Răspuns #1

Poți vedea șabloanele literale în MDN, și acestea sunt stilul preferat în ES6.

În cazul tău, ar deveni următorul:

const content = `${senderDisplay}, ${moment(timestamp).format('YY/MM/DD')} at ${moment(timestamp).format('h:mm A')}`;

Diferențe importante:

  • Începe și se termină cu un backtick

  • Suportă șiruri de caractere pe mai multe linii

  • Expresiile sunt interpolate cu $ {expression}

Răspunsul #2

const content = `${senderDisplay}, ${moment(timestamp).format('YY/MM/DD')} at ${moment(timestamp).format('h:mm A')};`

Aruncă o privire pe https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals! Sunt grozave odată ce te familiarizezi cu ele, interpolarea șirurilor este mult mai ușor de citit decât concatenarea diferitelor elemente.