<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/jsdoc-a-solid-alternative-to-typescript-jjazursrc" -->

---
title: JSDoc: a solid alternative to TypeScript | daily.dev
description: JSDoc is a solid alternative to TypeScript that provides static typing and scalability for JavaScript code without the need for transpilation. It offers...
canonical: https://daily.dev/posts/jsdoc-a-solid-alternative-to-typescript-jjazursrc
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: JSDoc: a solid alternative to TypeScript | daily.dev
og:description: JSDoc is a solid alternative to TypeScript that provides static typing and scalability for JavaScript code without the need for transpilation. It offers...
og:url: https://daily.dev/posts/jsdoc-a-solid-alternative-to-typescript-jjazursrc
og:image: https://api.daily.dev/og/posts/jjAzURsrc.png
og:image:alt: JSDoc: a solid alternative to TypeScript
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# JSDoc: a solid alternative to TypeScript

**[asayer](https://daily.dev/sources/asayer)** · 9 min read · 248 upvotes · 21 comments

## Summary

JSDoc is a solid alternative to TypeScript that provides static typing and scalability for JavaScript code without the need for transpilation. It offers flexibility, code annotation, and no compilation step, while still allowing for improved code maintainability and understanding. JSDoc can be used to add types to values, objects, arrays, functions, and classes, as well as improve code documentation with features like code authors, example usage, versioning, and helpful links. JSDoc files can be converted into documentation websites or TypeScript declaration files (.d.ts) for integration with TypeScript projects.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.openreplay.com/jsdoc--a-solid-alternative-to-typescript/>

## Community discussion

Top comments from developers on daily.dev.

**@kcib** · 20 upvotes

> Why should I use JSDoc over already well known typescript?

**@eneoctavian173** · 9 upvotes

> It seems like a way to make regular javascript more complicated than help. I have to write what looks like 3 lines of code instead of just saying
>
> let arr: int[] = []; which seems 10x easier.
>
> I feel like there should be more focus on building ontop of typescript to make it better than make overcomplicated alternatives. As for now, typescript does its job properly.

**@trickooo** · 9 upvotes

> Why not use both? 😅 use TS as usual then compliment it with JSDoc to make more specific definitions for your functions/types/interfaces/classes.

**@linhlee** · 8 upvotes

> Currently there is no reason for me to switch from typescript to JSDoc, because typescript is my best friend.

**@toughkevin** · 5 upvotes

> It would make much more code than with typescript, wouldn't it?

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments
- [CNCF Unveils Schedule for KubeCon \+ CloudNativeCon Europe 2026](https://daily.dev/posts/cncf-unveils-schedule-for-kubecon-cloudnativecon-europe-2026-ikhcoa5cb) · CNCF · 2 upvotes · 0 comments
- [CNCF Debuts KubeCon \+ CloudNativeCon Japan 2026 Schedule](https://daily.dev/posts/cncf-debuts-kubecon-cloudnativecon-japan-2026-schedule-xp5pyudub) · CNCF · 1 upvotes · 0 comments

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#typescript](https://daily.dev/tags/typescript)

[View this post on daily.dev](https://daily.dev/posts/jsdoc-a-solid-alternative-to-typescript-jjazursrc)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"JSDoc: a solid alternative to TypeScript","url":"https://daily.dev/posts/jsdoc-a-solid-alternative-to-typescript-jjazursrc","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/jsdoc-a-solid-alternative-to-typescript-jjazursrc"},"datePublished":"2023-11-04T19:03:25.169Z","dateModified":"2023-11-04T19:03:10.264Z","description":"JSDoc is a solid alternative to TypeScript that provides static typing and scalability for JavaScript code without the need for transpilation. It offers...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/998a4673581f296d5821053fc91a2353?_a=AQAEufR","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/998a4673581f296d5821053fc91a2353?_a=AQAEufR","isAccessibleForFree":true,"articleSection":"asayer","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"asayer","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac","url":"https://daily.dev/sources/asayer"},"commentCount":21,"discussionUrl":"https://daily.dev/posts/jsdoc-a-solid-alternative-to-typescript-jjazursrc","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":248},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":21}],"keywords":"javascript,typescript","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"asayer","item":"https://daily.dev/sources/asayer"},{"@type":"ListItem","position":3,"name":"JSDoc: a solid alternative to TypeScript"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/jsdoc-a-solid-alternative-to-typescript-jjazursrc","comment":[{"@type":"Comment","text":"Why should I use JSDoc over already well known typescript?","datePublished":"2023-11-05T19:45:59.831Z","url":"https://daily.dev/posts/jjAzURsrc#c-DpJwaf1cu","author":{"@type":"Person","name":"Isaac Bright","url":"https://daily.dev/kcib","image":"https://avatars.githubusercontent.com/u/32621169?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":20}},{"@type":"Comment","text":"It seems like a way to make regular javascript more complicated than help. I have to write what looks like 3 lines of code instead of just saying\nlet arr: int[] = []; which seems 10x easier.\nI feel like there should be more focus on building ontop of typescript to make it better than make overcomplicated alternatives. As for now, typescript does its job properly.","datePublished":"2023-11-05T20:01:41.354Z","url":"https://daily.dev/posts/jjAzURsrc#c-y1yo2ddIM","author":{"@type":"Person","name":"Octavian Ene","url":"https://daily.dev/eneoctavian173","image":"https://avatars.githubusercontent.com/u/102895212?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":9}},{"@type":"Comment","text":"Why not use both? 😅 use TS as usual then compliment it with JSDoc to make more specific definitions for your functions/types/interfaces/classes.","datePublished":"2023-11-06T00:00:54.214Z","url":"https://daily.dev/posts/jjAzURsrc#c-QqPjnsfTG","author":{"@type":"Person","name":"Patrick Castro","url":"https://daily.dev/trickooo","image":"https://avatars.githubusercontent.com/u/24643418?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":9}},{"@type":"Comment","text":"Currently there is no reason for me to switch from typescript to JSDoc, because typescript is my best friend.","datePublished":"2023-11-05T23:14:34.752Z","url":"https://daily.dev/posts/jjAzURsrc#c-18UOKt43B","author":{"@type":"Person","name":"Lê Hồng Lĩnh","url":"https://daily.dev/linhlee","image":"https://lh3.googleusercontent.com/a/AAcHTtcKKkadDJETbioYlqxUriZZXbDXDK-o3Cn9u8mxDw=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":8}},{"@type":"Comment","text":"It would make much more code than with typescript, wouldn’t it?","datePublished":"2023-11-06T14:45:36.797Z","url":"https://daily.dev/posts/jjAzURsrc#c-ZisGOFAAd","author":{"@type":"Person","name":"Milovan Soldatovic","url":"https://daily.dev/toughkevin","image":"https://media.daily.dev/image/upload/s--O0TOmw4y--/f_auto/v1715772965/public/noProfile"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":5}}]}
```

