Latest ⚡
This is the only place where you can find a list of my recent posts. They come from different series, but don't worry, following each one will lead you to a collection of similar content.
If you don't want to miss any of my latest posts, be sure to subscribe to my newsletter at the bottom of this page.
Written in 2023 ⏳
Oct
Sep
Make a text area fit its content automatically
30 Sep, 2023
Quickly insert alternate characters while typing
30 Sep, 2023
Zebra-like background
30 Sep, 2023
Add autocomplete to your text area
28 Sep, 2023
Linear scale of a number between two ranges
28 Sep, 2023
Highlight the current line in a text area
27 Sep, 2023
Create your own custom cursor in a text area
27 Sep, 2023
Mirror a text area for improving user experience
26 Sep, 2023
Display the line numbers in a text area
24 Sep, 2023
Select a given line in a text area
24 Sep, 2023
Highlight keywords in a text area
23 Sep, 2023
Calculate the reading time of a webpage
23 Sep, 2023
createDocumentFragment vs createElement
22 Sep, 2023
Enter full-screen mode
22 Sep, 2023
Make an element take up the entire page
22 Sep, 2023
Dynamically update CSS root variables
21 Sep, 2023
Create a custom cursor
21 Sep, 2023
Sanitize HTML strings
20 Sep, 2023
Indent content in a text area using the Tab key
20 Sep, 2023
Music bars
19 Sep, 2023
Build a spin input
18 Sep, 2023
Reading progress indicator
18 Sep, 2023
Get or set the cursor position in a text field
17 Sep, 2023
Build an OTP input field
17 Sep, 2023
Animate the caret in an input field
17 Sep, 2023
alt vs aria-label
16 Sep, 2023
Display a modal when users leave website
15 Sep, 2023
Display a confirm modal when closing the browser
15 Sep, 2023
resize event vs ResizeObserver
14 Sep, 2023
Waiting for an element to become available
13 Sep, 2023
Avoid shifting layout when opening a modal
13 Sep, 2023
Prevent scrolling behind a fixed header
12 Sep, 2023
Controlled vs uncontrolled modes
11 Sep, 2023
Controlled vs uncontrolled components
11 Sep, 2023
Stateless vs stateful components
10 Sep, 2023
React.useEffect() vs React.useLayoutEffect()
10 Sep, 2023
React.createElement() vs React.cloneElement()
10 Sep, 2023
NodeIterator vs TreeWalker
09 Sep, 2023
React.useState() vs React.useReducer()
08 Sep, 2023
Microtasks vs macrotasks
08 Sep, 2023
Animations vs transitions
08 Sep, 2023
Avoid using default exports
08 Sep, 2023
Flipping number
07 Sep, 2023
setInterval() vs setTimeout() vs setTimeout(0)
06 Sep, 2023
Call stack vs task queue
06 Sep, 2023
Frame corners
06 Sep, 2023
Folded corner
06 Sep, 2023
Debouncing vs throttling
05 Sep, 2023
Anonymous vs closure functions
05 Sep, 2023
HTML entities vs Unicode characters
04 Sep, 2023
Dynamic vs static NodeList
04 Sep, 2023
children vs childNodes
04 Sep, 2023
Typewriter
04 Sep, 2023
React.createElement() vs JSX
03 Sep, 2023
Make a textarea auto-expand
03 Sep, 2023
Scroll down indicator
03 Sep, 2023
Hamburger menu
03 Sep, 2023
Blinking cursor
03 Sep, 2023
font-size vs line-height
02 Sep, 2023
Deep compare vs shallow compare
02 Sep, 2023
cookie vs localStorage vs sessionStorage
02 Sep, 2023
Check if users click outside of selected text
02 Sep, 2023
ReactNode vs ReactElement
01 Sep, 2023
JavaScript events vs synthetic React events
01 Sep, 2023
ceil vs floor vs round
01 Sep, 2023
Typing indicator
01 Sep, 2023
Aug
pseudo-classes vs pseudo-elements
31 Aug, 2023
Object constructor function vs object literals
31 Aug, 2023
eval() vs new Function()
31 Aug, 2023
__proto__ vs prototype
31 Aug, 2023
Speech bubble
31 Aug, 2023
Deep copy vs shallow copy
30 Aug, 2023
Get the bounding rectangle of a text node
30 Aug, 2023
Set Git configuration conditionally
30 Aug, 2023
Grid lines background
30 Aug, 2023
object.property vs Object.defineProperty()
29 Aug, 2023
^a.b.c vs ~a.b.c in package.json file
29 Aug, 2023
Select the direct children of an element
29 Aug, 2023
Pass specified environments to Webpack
29 Aug, 2023
Set vs Array
28 Aug, 2023
Object.freeze() vs Object.seal()
28 Aug, 2023
Object.assign() vs Object spread operator
28 Aug, 2023
Include properties conditionally
28 Aug, 2023
Highlighting target element
28 Aug, 2023
Add a special message when users copy text
27 Aug, 2023
Grid without double borders
27 Aug, 2023
Center align one and left align the other
27 Aug, 2023
Customer logos marquee
27 Aug, 2023
Multiple awaits vs Promise.all()
26 Aug, 2023
isNaN vs Number.isNaN
26 Aug, 2023
Running flow
26 Aug, 2023
Rotating texts
26 Aug, 2023
Floating label
26 Aug, 2023
preload vs prefetch
25 Aug, 2023
blur vs focusOut
25 Aug, 2023
append vs appendChild
25 Aug, 2023
a vs !!a
25 Aug, 2023
Skeleton loading
25 Aug, 2023
void vs never
24 Aug, 2023
Readonly<T[]> vs ReadOnlyArray<T>
24 Aug, 2023
K keyof T vs K extends keyof T
24 Aug, 2023
any vs unknown
24 Aug, 2023
standard event handler vs event delegation
23 Aug, 2023
default parameters vs OR operator
23 Aug, 2023
Pulse animation
23 Aug, 2023
Calculate the distance to the bottom of a page
23 Aug, 2023
Generate a weighted random number in given range
22 Aug, 2023
Apr
Capitalize a string
11 Apr, 2023
Feb
Returns an object with unique values by key
17 Feb, 2023
Newsletter 🔔
If you're into front-end technologies and you want to see more of the content I'm creating, then you might want to consider subscribing to my newsletter.
By subscribing, you'll be the first to know about new articles, products, and exclusive promotions.
Don't worry, I won't spam you. And if you ever change your mind, you can unsubscribe at any time.
Phước Nguyễn