Στη JavaScript, τα template strings επιτρέπουν την ενσωμάτωση εκφράσεων σε συμβολοσειρές, κάτι που αναφέρεται και ως παρεμβολή συμβολοσειρών.
Αυτή η λειτουργία επεκτείνει τη λειτουργικότητα του ενσωματωμένου καθολικού αντικειμένου String.
Μπορείς να δημιουργήσεις template strings στη JavaScript τυλίγοντας κείμενο σε backticks (βαρείες). Δεν επιτρέπουν μόνο στο κείμενο να περιλαμβάνει νέες γραμμές και άλλους ειδικούς χαρακτήρες, αλλά μπορείς επίσης να ενσωματώσεις μεταβλητές και άλλες εκφράσεις.
const num1 = 1;
const num2 = 2;
`Adding ${num1} and ${num2} gives ${num1 + num2}.`;
// => Adding 1 and 2 gives 3.
Στο παραπάνω παράδειγμα, τα backticks - (``) - χρησιμοποιούνται για να αναπαραστήσουν ένα template string. Το ${...} είναι το σύμβολο αντικατάστασης που χρησιμοποιείται για την υποκατάσταση.
Οποιοσδήποτε τύπος που δεν είναι συμβολοσειρά μετατρέπεται σιωπηρά σε συμβολοσειρά.
Αυτό το θέμα καλύπτεται στην ενότητα μετατροπή τύπων.
Όλοι οι τύποι εκφράσεων μπορούν να χρησιμοποιηθούν με template strings.
const track = 'JavaScript';
`This track on exercism.org is ${track.toUpperCase()}.`;
// => This track on exercism.org is JAVASCRIPT.
Όταν χρειάζεται να μορφοποιήσεις συμβολοσειρές σε πολλές γραμμές:
`This is an example of using template
strings to accomplish multiple
lines`;
Με τις δυνατότητες αντικατάστασης που υπάρχουν, μπορείς επίσης να εισάγεις λογική στη διαδικασία για να καθορίσεις ποια πρέπει να είναι η συμβολοσειρά εξόδου.
Ένας τρόπος να χειριστείς αυτή τη λογική είναι να χρησιμοποιήσεις τον τριμερή τελεστή.
Αυτό προσφέρει την ίδια υπό συνθήκη λειτουργικότητα if/else σε μια ελαφρώς διαφορετική μορφή.
Για να εισάγεις λογική στη σύνταξη των template strings:
const grade = 95;
`You have ${grade > 90 ? 'passed' : 'failed'} the exam.`;
// => You have passed the exam.