Skip to content

Instantly share code, notes, and snippets.

@joethephish
Last active December 19, 2019 15:18
Show Gist options
  • Save joethephish/e22b53f0ae4212137dca1bb900b6f1f1 to your computer and use it in GitHub Desktop.
Save joethephish/e22b53f0ae4212137dca1bb900b6f1f1 to your computer and use it in GitHub Desktop.
Default param causes ts-check to fail
const Obj = {
x: 1,
f: (y = Obj.x) => {}
};
Obj.x; // No definition found for 'x'
@joethephish
Copy link
Author

Cool, yeah. I definitely prefer this JSDoc approach in general for "lightweight" type-checking on small projects / prototypes without setting up a full TypeScript tool chain.

@myfonj
Copy link

myfonj commented Dec 19, 2019

Exactly.
And amusingly, just accidentally caught this approach in that very editor:
https://www.typescriptlang.org/play/main-3.js

// whoa, no typescript and no compilation!

😄

(Sorry for spam, just had to share. Happy holidays :] )

OH, and BTW, if you are using modern-ish JS, you'll probably need do add few libs to "have" some features missing in current TS standard defs; for example in service worker I needed

/// <reference lib="webworker" />
// `Property 'finally' does not exist on type 'Promise<void>'`, introduced with es2018
/// <reference lib="es2018.promise" />

@joethephish
Copy link
Author

Hah, nice! Happy holidays!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment