In JavaScript, it's commonly seen as best practice to use === instead of ==, for obvious and well-known reasons. In TypeScript, which is one to be preferred? Is there even one which is preferable ...
Yes. As of TypeScript 3.7 (released on November 5, 2019), this feature is supported and is called Optional Chaining: At its core, optional chaining lets us write code where TypeScript can immediately stop running some expressions if we run into a null or undefined. The star of the show in optional chaining is the new ?. operator for optional property accesses. Refer to the TypeScript 3.7 ...
It tells TypeScript to leave the expressions result as it is and pass it to JavaScript. It allows the use of JavaScript semantics in TypeScript, such as using loose equality (with the convenience of omitting all the checks) or using the (loose) inequality comparisons.
export function foo(arg: string): arg is MyType { return ... } I haven't been able to search for is in either the docs or google, it's a pretty common word and shows up on basically every page. What does the keyword do in that context?
The key aspect to interfaces in typescript that distinguish them from types is that they can be extended with new functionality after they've already been declared.
10 Type guards in typescript To determine the type of a variable after a conditional statement you can use type guards. A type guard in typescript is the following: An expression which allows you to narrow down the type of something within a conditional block.
None of the other answers discuss how to run a TypeScript script that uses modules, and especially modern ES Modules. First off, ts-node doesn't work in that scenario, as of March 2020. So we'll settle for tsc followed by node. Second, TypeScript still can't output .mjs files. So we'll settle for .js files and "type": "module" in package.json.