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

18 JavaScript and TypeScript shorthands to know

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:

Node.js Project Architecture Best Practices

Node.js project architecture best practices

Understand best practices for structuring Node.js projects, such as separating roles using folder structures and practicing modular code.

Piero Borrelli
Mar 20, 2026 ⋅ 16 min read

TypeScript at scale in 2026: What senior engineers should know

How senior engineers run TypeScript effectively at scale in modern codebases.

Peter Aideloje
Mar 19, 2026 ⋅ 6 min read
the replay march 18

The Replay (3/18/26): Hiring in the AI era, coding isn’t dead, and more

Discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the March 18th issue.

Matt MacCormack
Mar 18, 2026 ⋅ 29 sec read
ken pickering ai hiring quote card

Thinking beats coding: How to hire the right engineers in the AI era

A CTO outlines his case for how leaders should prioritize complex thinking over framework knowledge when hiring engineers for the AI era.

Ken Pickering
Mar 18, 2026 ⋅ 4 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

Your email address will not be published. Required fields are marked *

Would you be interested in joining LogRocket's developer community?

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