Update of Microsoft’s strongly typed JavaScript disallows nullish and truthy checks on syntax that never varies on nullishness or truthiness. Credit: Daboost/Shutterstock TypeScript 5.6, the latest version of Microsoft’s strongly typed JavaScript variant, is now available as a production release. The update features capabilities that include disallowing nullish and truthy checks on syntax that never varies on nullishness or truthiness. Unveiled September 9, TypeScript can be accessed via NPM using the following command: npm install -D -typescript. The update also can be accessed through NuGet. For disallowed nullish and truthy checks, TypeScript’s compiler now errors when it can syntactically determine that a truthy or nullish check will always evaluate in a specific way. Microsoft said “many, many bugs” could be caught this way. Some expressions still are allowed even if truthy or nullish. Specifically, true, false, 0, and 1 are all still allowed despite always being truthy or falsy. The production release of TypeScript 5.6 follows a release candidate published August 23 and a beta release that arrived July 26. Also in TypeScript 5.6, Microsoft reverted a change around how TypeScript’s language service searched for tsconfig.json files. Previously, the language service would walk up the directory tree looking for every possible project file named tsconfig.json that could contain a file. Because this could lead to opening many referenced projects, Microsoft reverted the behavior. The company is investigating ways to bring the behavior back in TypeScript 5.7. In another improvement, a feature called region-prioritized diagnostics or region-prioritized checking has been introduced. This addresses a situation in which the language service, when asked for diagnostics for a file, might incur delay when checking large files. Also in TypeScript 5.6: A new compiler option, called --noUncheckedSideEffectImports, will throw an error if it cannot find a source file for a side effect import. Another new compiler option, --noCheck, will skip type checking for all input files. New editor functionality has been added such as direct support for commit characters and exclude patterns for auto-imports. Arbitrary module identifiers now can be used in code. Previously, TypeScript offered a single type called BuiltinIterator to describe values backed by Iterator.prototype. This has been renamed IteratorObject and has several subtypes such as ArrayIterator and MapIterator. A --stopOnBuildErrors flag has been added for --build mode. When a project builds with any errors, no other projects will continue to be built. TypeScript 5.6 follows the June 20 release of TypeScript 5.5, which introduced inferred type predicates and regular expression checking. TypeScript 5.7, meanwhile, is due in beta on October 1, with capabilities such as enforcing read-only checks on object members. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages news F# 9 adds nullable reference types Latest version of Microsoft’s functional .NEt programming language provides a type-safe way to handle reference types that can have null as a valid value. By Paul Krill Nov 18, 2024 3 mins Microsoft .NET Programming Languages Software Development news Go language evolving for future hardware, AI workloads The Go team is working to adapt Go to large multicore systems, the latest hardware instructions, and the needs of developers of large-scale AI systems. By Paul Krill Nov 15, 2024 3 mins Google Go Generative AI Programming Languages Resources Videos