2023-01-03
2639
#typescript#vanilla javascript
Ibiyemi Adewakun
107594
Jan 3, 2023 ⋅ 9 min read

18 JavaScript and TypeScript shorthands to know

Image
Ibiyemi Adewakun Ibiyemi is a full-stack developer from Lagos. When she's not writing code, she likes to read, listen to music, and put cute outfits together.

Recent posts:

react children prop how to properly type

How to type React children correctly in TypeScript

Learn modern best practices for typing React children in TypeScript, including ReactNode, PropsWithChildren, ComponentProps, and why React.FC is no longer recommended.

Image Ohans Emmanuel
Dec 19, 2025 ⋅ 7 min read
complete guide to internationalization next js

The complete guide to internationalization in Next.js

Learn how to internationalize Next.js apps with Lingui and next-intl, covering App Router, RSC, routing, locale detection, and dynamic language switching.

Image Ivan Vlatkovic
Dec 19, 2025 ⋅ 13 min read
Image

Vite vs. Webpack for react apps in 2025: A senior engineer’s perspective

Vite vs Webpack in 2025: a senior engineer’s take on performance, developer experience, build control, and when each tool makes sense for React apps.

Image Peter Aideloje
Dec 19, 2025 ⋅ 3 min read
vitest 4 adoption guide

Vitest 4 adoption guide: Overview and migrating from Jest

Learn how Vitest 4 makes migrating from Jest painless, with codemods, faster tests, native ESM, browser testing, and a better DX.

Image Onuorah Bonaventure
Dec 18, 2025 ⋅ 15 min read
View all posts

8 Replies to "18 JavaScript and TypeScript shorthands to know"

  1. Hello !

    Thanks you for your article, I learn a lot with it.

    But I think that I found a mistake in short circuit evaluation. When you show the traditional version with if…else statement you use logical && operator but I think you wanted use logical || operator.

    I think that is just a wrting error but i prefer tell it to you.

    Have a good day

    1. I was avoiding using logical OR to make clear the explanation of short circuit evaluation, so the if statement should be confirming “str” has a valid value. I have switched the assignment statements in the condition so it is correct now.

  2. I think there is an error in the renamed variable of destructured object. Shouldn’t the line
    const {x: myVar} = object
    be:
    const {x: myVar} = obj

  3. This code doesn’t work in Typescript?
    // for object literals
    const obj2 = {
    a: 1,
    b: 2,
    c: 3
    }

    for (let keyLetter in obj2) {
    console.log(`key: ${keyLetter} value: ${obj2[keyLetter]}`);

    Gets error:
    error: TS7053 [ERROR]: Element implicitly has an ‘any’ type because expression of type ‘string’ can’t be used to index type ‘{ 0: number; 1: number; 2: number; }’.
    No index signature with a parameter of type ‘string’ was found on type ‘{ 0: number; 1: number; 2: number; }’.
    console.log(`key: ${keyLetter} value: ${obj2[keyLetter]}`);

  4. ~~x is not the same as Math.floor(x) : try it on negative numbers. You’ll find that ~~ is the same as Math.trunc(x) instead.

Leave a Reply

Hey there, want to help make our blog better?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now