DEV Community

lionel-rowe
lionel-rowe

Posted on

 

Easily and safely escape HTML in one line

x => Object.assign(document.createElement('div'), { textContent: x }).innerHTML
Enter fullscreen mode Exit fullscreen mode

True, you could also do it with

x => x.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;")
Enter fullscreen mode Exit fullscreen mode

or similar, but if you do it the first way you don't have to remember the HTML entities πŸ™‚

Top comments (0)

typescript

11 Tips That Make You a Better Typescript Programmer

1 Think in {Set}

Type is an everyday concept to programmers, but it’s surprisingly difficult to define it succinctly. I find it helpful to use Set as a conceptual model instead.

#2 Understand declared type and narrowed type

One extremely powerful typescript feature is automatic type narrowing based on control flow. This means a variable has two types associated with it at any specific point of code location: a declaration type and a narrowed type.

#3 Use discriminated union instead of optional fields

...

Read the whole post now!