Type Inference vs. Type Assertion in TypeScript
Two important tools in the TypeScript type system are type inference and type assertion. While they sound similar, they serve different purposes and …
Two important tools in the TypeScript type system are type inference and type assertion. While they sound similar, they serve different purposes and …
Understanding the Difference Between void and never in TypeScript When working with TypeScript, we may encounter various utility types that help …
In version 4.0 TypeScript fixed a ‘bug’ in a try/catch block, where the error was of type any. The any type allowed, well, …
The currentColor keyword refers to the text color on a element where the keyword is used. And it can be used on any property that accepts a color …
JavaScript does not offer any build in way how to create enums so we have to use a workaround. On the other hand, TypeScript has its way, or two, how …
The React 18 introduces Concurrent React. It is React, that cares about tasks and their priorities to be processed by a browser in certain order. For …
The ‘const’ assertion was added to TypeScript in version 3.4. It sets all properties of an object to be readonly and arrays becomes …
Cypress relies on many open-source libraries. Mainly they are used internally, but they are also exported and we can use them in out tests. They may …
Section tag is one of HTML semantic elements, that tell browsers how they should appear and what they do. What should section contain and how should …
Function overloading is very common technique in many programming languages. JavaScript itself this feature do not support. But luckily, we have …
Scope is set of rules that determines where and how a variable can be referenced or is visible. Because we can nest blocks or functions inside another …
Data binding is a fancy name for setting relation for data passed between a parent component and a child component. Aurelia recognizes 5 types of data …
If you have a private area on your web page you probably had to solve a problem, how to stay logged in during Cypress tests. Because of performance, …
The defer attribute is used with <script> where it signals to browsers that the external script should be downloaded in parallel to parsing the …
Guard clauses (guard, guard code or guard statement) is technique to write cleaner and more readable code. Guard The definition of guard clause by …
Divitis or div soup is quite common problem of frontend developers. It is a habit or a process of using too many unnecessary div HTML elements in …
To improve responsiveness of a site, we are used to to use CSS media queries, calc() function or even Web API ResizeObserver event listener. But CSS …
The :is() pseudo-class function in CSS allows to write shorter compounded selectors. It takes list of selectors as its argument and selects any …
Abstract factory is a creational design pattern that creates objects that follow a general pattern. Abstract factory is considered to be an another …
Centering element horizontally… Something you did many times in the past and for sure you will do many times as part of your daily job in the …
Two main bindings to handle click events exist in Aurelia - delegate and trigger. What are their key concepts and what is the difference between them? …
Design patterns are general reusable solutions to common problems in software design that software engineers face during software development. It …
Have you ever wondered why some animations are slow and others not? If the animation is not performing well, it can negatively impact the user …
Singleton pattern is a creational design pattern that restricts the initialization of a class (or object in general) to single instance while …
Every event is a special object used in browsers to signal that something happened to a HTML element. And JavaScript can be used to react to that …
A lobotomized owl is a eerie name for a pretty neat CSS selector. This selector was introduced in 2014 by Heydon Pickering to solve some flow content …
Every framework has its ways how to include custom components, reusable block of codes, into the page content. In Aurelia, we have three main options …
To define an array of minimal length we have to create an array of defined length and then extend it with an array of unknown length. Array of certain …