Tagged Template Literals
Вставка
- Опубліковано 13 жов 2024
- Template literal strings are great for embedding (interpolating) variables and expressions inside JavaScript strings.
They also include a feature called tagged template literals that let you create a function which will give you granular control over all the strings and expressions inside the template string.
Code from video: gist.github.co...
Array reduce method video: • JavaScript Array reduc...
Rewatching this video after 7 months. I love the pace.
Now (3 years after the video was posted) there's a pretty neat feature `String.raw`. It helps simplify the function at 10:25 to a one-liner:
```
const f = (strings, ...values) => String.raw({ raw: strings }, ...values.map(i => i.toUpperCase()))
```
I should add String.raw to my video todo list and talk about what it can and can't do.
This is a great way to make html templates using vanilla js. It's what I've been using and it works 👍
Tips:
1. Replace null valued variables to empty strings. This will allows you to do conditional rendering similar to react using the && operator.
2. Join array variables automatically so you can render looping template (cards, table rows, etc.) cleanly.
3. Use "html" as your tagged template literal function name so vscode extensions will pick it up and format them as html.
i don't know why you and dcode has far less subscribers although you both are among the best ! Thank you for the effort you put into this. keep up the amazing work!
Clearest tagged template video ever, thanks Steve, u are the best.
Hey Steve. You make some damn fine content, really really excellent.
I love your content. Your content has improved me a lot♥️♥️
trying to understand this on mdn was a nightmare, thanks Professor Steve!
Had NO clue about this one. Very helpful video, thanks!
Thanks for putting the effort to make this video.
This is the first time I know about tagged template literals.
Also, you sound a bit like a calmer RDJ 😁
Very good Explaination. Thanks
Another very cool tutorial!
Excellent explanation
Very clear. Thank you.
Great video! Thanks.
Thank you for this tutorial. It helped me.
Very helpful. Thank you!!
Hey Steve! Thank you. That was very very understandable
Clear and to the point!
Such a clear explanation! thank you 😍
Thank you!!! Kind video
Great video, thanks :)
Gosh you have a great voice!
great content thank u
cool, looks like a boon for generated JS , generated from other Languages
:-)
Hey steve great contents. So here comes the weird suggestion. Have you ever thought about doing a voice over work or reading an audio book? I just think you should at least look in to it. You have a great voice. Any way i love your javascript lessons thank you for making videos.
I have considered it and discussed it with another voice actor I know. Just a matter of having the time to do it.
Steve Griffith Good luck Sir, I’m rooting for you
Can you give more examples or provide a link or something inorder to have a more clear idea of how to implement this concept its sure interesting though
Check out MDN (Mozilla Developers Network) page on tagged template literals, it always has cool examples on its documentation
According to your Time there I think 4:00 am right now, brother you are making video at that time
I schedule the release of my videos. Many of them at 4am UTC.
Thank you again. I have a question about the template literal..
When i am using template literal to print a object it is showing [object Object]..but when i am using the traditional way, it is showing the value of the object.
Please explain the reason of this behaviour.
You must embed a specific object property ${myObj.prop}. If you just try to embed the whole object ${myObj} then you will always get [object Object] because it just does a conversion to String. The String equivalent of EVERY object is [object Object]. This is why you can't use Objects as a keys inside other objects. Every object key must be a String or a Symbol.
Thanks, steve how do i get the coordinates appear in real time(updated with little change in position)
What coordinates? I'm talking about template strings and functions here.
@@SteveGriffith-Prof3ssorSt3v3 lol
im back again to ask look at this code (i couldnt understand how the keys and value of the objects are passed as parametres on the function)
this is the code:
const user = {
id: 101010,
name: "Derek",
email: "derek@awesome.com"
};
function replace(key, value) {
if (typeof value == 'number') {
return undefined;
}
if (key == 'email') {
return ' remover for privacy';
}
return value;
};
//when i console this how does the keys and values from user object are used as parametres in replace function???????
console.log(JSON.stringify(user, replace));
This video is about tagged template literal functions, not JSON.stringify. They are different things. ua-cam.com/video/0k4NwimfszA/v-deo.html - here is my video on stringify.
@@SteveGriffith-Prof3ssorSt3v3 srry i just asked here, i didnt know where to ask adn i didnt know that you have a video about stringify thanks