Sure, TypeScript isn’t for everyone. But sometimes you want types and type-checking… well, turns out you can use the TypeScript compiler to check the types on your JavaScript – let me show you how!
More info: https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html
Original source
21 responses to “Pro tip: type-check your JavaScript the easy way!”
That is exactly what I wrote a blog post about https://dev.to/dakmor/type-safe-web-components-with-jsdoc-4icf
I really love it and it's quite powerful to "just" have JavaScript with type safety 🙂
what I did not found out yet is how users could use those types I am providing.
Generally, typescript only reads typescript definition files from the node_modules folder… is there a way to automatically generate those definition files from JavaScript?
JavaScript should have optional static typing
How do you only have 7.7k(currently) subs with this polished, concise and useful content?
So informative! Thanks Paul. You're a fantastic educator. I'm so glad you're spending some of your free time to give back to the community like this. It really helps!
How can you code on this ABYSMAL keyboard
This is good. Something new for the day. Thank you. This also makes complete sense for utilities as it also enforces the best practice is documenting the API. But I still would spend time to go to pure typescript and avoid any. Maybe because I am spoilt by Scala 😁
Just use TypeScript
Here's a small and easy tool to add static analysis to JavaScript projects as an alternative to using TS with flags: https://github.com/matchai/ts-quick
That's helpful, however I was wondering if there was a way to set a type on variables and function parameters in the source files (like in your main.js file for example)
these intro's are really why I'm here.
Awesome comeback to the video from yesterday which I really enjoyed. Also your outro with the clap on the beat of the song was really awesome. Watched it twice haha, keep it up!
background-color : france
The lowered the volume on the music worked perfectly for me, thanks for that !
JavaScript type checking with VSCode is actually very nice.
Here is another way a bet a lot of the people didn't know.
You can define some custom types with jsdocs using @typedef then use it in other places. But you can also import these types from other files using a sort of dynamic-import like syntax, let say:
/* @param {import("./otherfile.js").SomeType} param1
For this to work, this "otherfile.js" needs to be a module. I do this thing where I create a types.js file with all my back-end data structures and a "export default undefined" at the bottom. This file is not going to be fetched from the network since it's only imported inside jsdocs.
Hi Paul, thank you! Have you tried Elm? Would love to hear your thoughts and see your fiddling with it!
I thought Paul gonna also mention that we can also just add type checking for just a specific file.
Just add
// @ts-check
to the top of any javascript file
Also tested with .vue file as well
Nice tip, Paul ).
A bit of off-topic question – Web Assembly (WASM). Will it take over Javascript someday? For example, .NET Blazor concept.
https://code.visualstudio.com/docs/languages/jsconfig
Good growth Mr Lewis #OperationBeard
Tank for the (detailled) tips Paul 🙂 !
JSDoc is actually still the only way to add a description to your functions and variables, even TypeScript ones.
You can actually use it in place of TypeScript types in .ts files. You can't do all the type manipulations that TypeScript allows of course, but in many cases it's enough.
I think JSDoc is the unsung hero of all this. Not many really use it correctly, and the official docs are IMO quite lackluster…