What you will learn in Essential TypeScript 5, Third Edition
Chapter by chapter
Concepts explained in this book
- TypeScript compilerThe TypeScript compiler translates TypeScript source files into JavaScript files and performs TypeScript and optionally JavaScript diagnostics.
- union typeA union type is a TypeScript type that allows a value to conform to any one of multiple constituent types and exposes only members shared by those types.
- genericsA generic type is a parameterized type containing placeholders that are resolved for a particular use or object creation.
- type guardA type guard is a runtime-checkable condition that allows the TypeScript compiler to narrow an expression to a more specific type within a code path.
- TypeScript declaration fileA declaration file is a source file containing type declarations and program interfaces without the corresponding executable implementation.
- type hintsA type annotation is syntax that explicitly associates a declared program element with a type for compiler checking.
- TypeScriptTypeScript is a programming language that extends JavaScript with static typing and other language features while compiling to JavaScript.
- static typingA static type is a type checked for program values and expressions during compilation rather than only during execution.
- decoratorA decorator function is a function invoked when a decorator is applied and returns the replacement class feature.
- rest operatorA rest parameter collects an arbitrary number of function arguments into a single parameter value.
- strictNullChecksstrictNullChecks is a TypeScript compiler option that reports errors when null or undefined values are used where a value is required, including variables used before definite assignment.
- type inferenceType inference is the compiler's derivation of types for program elements from their values, expressions, and usage without explicit annotations.
- module formatA module format is a convention or specification governing how modules express dependencies, exports, and loading behavior.
- any typeThe any type is a TypeScript type that permits a value to be treated as having any type, largely disabling static type checking for that value.
- data conversionType coercion is the conversion of a value from one JavaScript type to another during an operation or expression evaluation.
- shape typeA shape type specifies an object type through a particular combination of property names and value types.
- default valueA default parameter is a function parameter with an initializer used when the caller omits the argument or supplies undefined.
- package.jsonpackage.json is a project configuration file that records package requirements and settings for development tools.
- type argumentA generic type argument supplies a concrete type for a parameterized type's placeholder.
- tsconfig.jsonA tsconfig.json file is a TypeScript project configuration file that specifies settings used by the TypeScript compiler.
- arrow functionAn arrow function is a concise JavaScript function syntax using an arrow between its parameters and body or result expression.
- JSXA JSX class is a class whose implementation contains JSX elements that are transformed into standard JavaScript.
- functionA JavaScript function is a callable construct that encapsulates executable code and can accept inputs and produce a result.
- hidden classAn object shape is the combination of properties associated with a JavaScript object.
- JavaScriptA dynamic, multi-paradigm programming language standardized as ECMAScript and commonly executed in web browsers and server runtimes.
- type assertionA type assertion is a TypeScript construct that tells the compiler to treat an expression as a specified type without performing a runtime type conversion.
- moduleAn ECMAScript module is a JavaScript module defined by the ECMAScript module system, with explicit imports and exports.
- watch modeWatch mode is a compiler or test-runner operating mode that monitors files and reruns processing when changes are detected.
- type aliasA type alias is a named TypeScript type definition that can represent an existing type or a composed type.
- enumAn enum value is a named value belonging to an enum.
- thisThe this value is the object or other value associated with a JavaScript function invocation or lexical function context.
- keyof operatorThe keyof operator is a TypeScript type operator that produces a union of the property names of an object type.
- never typeThe never type is a TypeScript type representing values that can never occur, such as the result of a function that cannot complete normally.
- constructor methodA constructor is a class member that initializes a newly created instance and its properties.
- conditional typeA conditional type is a TypeScript type expression that selects one of two result types based on a relationship involving a type parameter.
- target propertyThe target property is a TypeScript compiler configuration setting that selects the JavaScript language version for generated code and default library typings.
- bundlingA bundle is a generated file or set of files containing packaged application modules and their dependencies for delivery to a client.
- mapped typeA mapped type is a TypeScript type expression that creates or transforms an object type by iterating over property keys and assigning types and modifiers to its properties.
- inheritanceClass inheritance is a mechanism by which one class derives features from a superclass.
- prototypeThe prototype system is JavaScript's object-inheritance mechanism in which objects delegate property and method lookup to prototype objects.
- import statementAn import statement is JavaScript module syntax that declares dependencies on exported bindings from another module.
- intersection typeAn intersection type is a TypeScript type that combines multiple types into one type requiring their combined members.
- classA class is a programming construct that defines the structure and behavior of objects of a data type.
- reduction operationThe reduce method applies a function across an array's elements to produce a single accumulated result.
- undefinedundefined is the JavaScript primitive value that indicates that a value has not been assigned or is unavailable.
- optional function argumentAn optional parameter is a function parameter that may be omitted by the caller and is denoted with a question mark in TypeScript.
- type constraintA generic type constraint restricts the types that may be supplied for a generic type parameter by requiring them to satisfy a specified type relationship or shape.
- Webpack Development ServerWebpack Development Server is a development HTTP server integrated with webpack that serves bundled assets and supports automatic browser reloading when source files change.
- literal typeA literal string type is a TypeScript type whose values are restricted to one or more specific string literals.
- Angular componentAn Angular component is a class associated with a selector and template that defines a portion of an Angular application's user interface.
- replacement methodA replacement method is a function substituted for an original class method while retaining the ability to invoke that original method.
- npmnpm is a package manager for installing and managing JavaScript packages and their dependencies.
- protected memberAn access control keyword specifies which code can access a class member or other program element.
- data sourceA data source is a component or value from which an application obtains the data it displays or processes.
- spread operatorSpread syntax is JavaScript syntax that expands the properties or elements of an existing object or iterable into a new expression.
- subclassA subclass is a class derived from another class that can inherit or extend its members and behavior.
- packageA JavaScript package is a distributable collection of JavaScript code and metadata intended for reuse in software projects.
- methodA method is an object property whose value is a function and which can be invoked as part of the object.
- nullish coalescing operatorThe nullish coalescing operator returns its right-hand operand only when its left-hand operand is null or undefined.
- data modelA data model is a structured representation of an application's data and the operations that can be performed on it.
- lintingA linter is a software tool that analyzes source code against configurable rules to identify problems or undesirable patterns.
- private memberA private field is a JavaScript class data member marked with # whose access is enforced by the JavaScript runtime and restricted to its defining class.
- nanNaN is the special JavaScript numeric value representing an undefined or unrepresentable numerical result.
- type checkingType checking is the analysis of program values and expressions to determine whether their types satisfy language rules.
- interfaceAn interface is a TypeScript type declaration that specifies the properties and methods a class must provide without implementing those members or defining a constructor.
- type systemThe JavaScript type system is the set of rules governing the types and type-related behavior of JavaScript values and expressions.
- declarationThe declaration compiler option is a TypeScript setting that causes declaration files to be emitted for compiled source.
- traceResolutiontraceResolution is a TypeScript compiler option that reports the locations and settings involved in module and declaration-file resolution.
- object literalObject literal syntax is JavaScript syntax for directly defining an object by listing its properties and values.
- webpack configurationA webpack configuration is a set of settings that controls how webpack processes modules and produces bundles.
- type propertyThe type property is a package.json setting that declares the module system used by a JavaScript package.
- npm scriptThe scripts section is the package.json configuration section that defines named commands runnable through npm.
- factoryA factory function is a function pattern that creates and returns objects or other configured values instead of requiring direct construction by the caller.
- tupleA tuple type is a TypeScript array-like type with a fixed ordered sequence of specified element types, optionally including optional or rest positions.
- ReduxRedux is a JavaScript library for managing application state in a centralized store through dispatched actions and reducer functions.
- Redux ToolkitRedux Toolkit is the official Redux package providing utilities and conventions for creating and configuring Redux applications.
- component templateAn Angular HTML template is an HTML-based view definition that specifies the content and component elements rendered by an Angular component.
- no-debuggerThe no-debugger rule prohibits debugger statements in source code.
- prefer-const ruleThe prefer-const rule requires a const declaration when a variable declared with let is never reassigned.
- Number.isNaNNumber.isNaN is a JavaScript method that determines whether a value is the NaN numeric value.
- MapMap is a JavaScript built-in collection that stores key/value pairs and permits keys and values of arbitrary types.
- JestJest is a JavaScript testing framework that provides APIs for defining tests, making assertions, and reporting results.
- unit testA unit test is an automated test that evaluates a small, isolated unit of program behavior.
- Angular routingAngular routing is the framework feature that selects and displays components according to URLs and navigates between application views.
- container imageA Docker image is an immutable package containing the files, metadata, and configuration needed to create a Docker container.
- method intersectionA method intersection is a callable method type formed by intersecting the signatures of same-named methods from constituent types.
- property mergeA property merge is the formation of a shared property in an intersection by intersecting the property types contributed by its constituent types.
- propProps are input values supplied to a user-interface component or class to configure the content or behavior it renders.
- logical ORThe logical OR operator evaluates alternatives using JavaScript truthiness and produces a fallback when the left operand is falsy.
- containerA container is an isolated, lightweight execution environment that packages an application with the functionality it needs to run.
- npm installnpm install is an npm command that installs project packages and updates the project's installation metadata.
- optional type propertyAn optional property is an object property that a TypeScript interface or shape type permits to be absent.
- type informationType information is compile-time information describing the types associated with program values and expressions.
- toolchainA toolchain is a sequence of development tools that transform source code into software prepared for delivery and execution.
- ClassMethodDecoratorContextClassMethodDecoratorContext is a TypeScript decorator context type that describes the context supplied to a class method decorator, including its class type and method signature.
- return typeA return type is the type of the value a function returns, whether inferred or specified by annotation.
- debug packageThe debug package is a JavaScript utility package that produces decorated debugging output through the console.
- loaderA loader is a webpack extension that transforms a particular type of module content for inclusion in a bundle.
- super keywordThe super keyword accesses a class's superclass constructor, properties, or methods.
- abstract classAn abstract class is a class that can define shared members while preventing direct instantiation and requiring derived classes to implement designated abstract members.
- typeof operatorThe typeof operator is a JavaScript operator that produces a string identifying the type category of a value.
- CommonJSCommonJS is a JavaScript module system specification for defining and loading modules, especially in server-side environments.
- type narrowingType narrowing is the compile-time process of restricting an expression's possible types to a more specific type.
- membership operatorThe in keyword is a JavaScript operator that tests whether an object defines a specified property or inherited property.
- type predicateA type predicate is a TypeScript function-result annotation that identifies a parameter and asserts the type it has when the result is true.
- React componentA React component is a reusable user-interface unit defined by a class or function that renders content and can receive props and maintain state.
- booleanThe boolean type is the JavaScript and TypeScript type whose values are true or false.
- array typeAn array type is a TypeScript type that specifies the element type or allowable element types of an array.
- number typeThe number type is the built-in JavaScript type for numeric values.
- stringString is a built-in JavaScript function and constructor that converts values to strings and can create String objects.
- component decoratorAn Angular component decorator is a decorator that supplies metadata defining a component, including its selector and related configuration.
- arrayAn array is an ordered collection data structure whose elements are accessed by position.
- development dependencydevDependencies is the package.json field that records packages required during project development rather than at application runtime.
- accessor methodAn accessor is a class function that controls reading or writing a property value through getter or setter syntax.
- lib configuration propertyThe lib configuration property selects the library type definitions that the TypeScript compiler includes for a project.
- data typeA data type is a classification that determines the kinds of values a program can represent and the operations applicable to them.
- accessor decoratorAn auto-accessor decorator is a decorator function applied to a TypeScript auto-accessor that can replace its getter, setter, or initialized value.
- abstract equality comparisonAbstract equality comparison is JavaScript's equality algorithm that may convert operand types before comparing their values.
- eslint-disable-line commentAn eslint-disable-line comment directive suppresses specified linting rules for the statement on the same line.
- linter ruleA linting rule is a configurable condition that determines whether a linter reports a particular source-code pattern or violation.
- linting configurationA linting configuration is a set of settings that determines which linting rules are enabled, disabled, or otherwise configured.
- optional methodAn optional method is a method property that a TypeScript shape type permits to be absent.
- truthinessA falsy value is a JavaScript value that is coerced to false in a boolean context.
- Webpackwebpack is a JavaScript module bundler that transforms and packages modules and their dependencies into deployable bundles.
- routingRouter is the Angular service that performs programmatic navigation and manages application URL changes.
- indexed access operatorAn indexed access operator is TypeScript type syntax that obtains the type of a property or set of properties by indexing another type with a key type.
- DefinitelyTypedDefinitely Typed is a public repository of TypeScript type declarations for JavaScript packages.
- DockerDocker is a platform and toolset for building, distributing, and running applications in software containers.
- dynamic typingDynamic typing is a language system in which values carry types at runtime and a variable can refer to values of different types over time.
- selector propertyA selector property is Angular component metadata that specifies the element or attribute pattern identifying where the component is used in a template.
- callbackA callback is a function supplied to another function or method so that it can be invoked later in response to an operation or event.
- debugger statementA debugger statement is a JavaScript statement that requests a debugging pause when an attached debugger is active.
- module settingA module setting is a TypeScript compiler configuration option that selects the module format emitted for a project.
- Node.js InspectorThe Node.js debugger is the debugging facility integrated into Node.js for pausing, inspecting, and controlling JavaScript execution.
- stateComponent state is data maintained by a user-interface component whose changes can trigger a re-render.
- static methodA static method is a method defined on a constructor function and accessed through the constructor rather than through its instances.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
