Ida  Nader

Ida Nader


Type Assertions in TypeScript

This blog post is about type assertions in TypeScript, which are related to type casts in other languages and performed via the as operator.

Table of contents:

  • Type assertions
    • Alternative syntax for type assertions
    • Example: asserting an interface
    • Example: asserting an index signature
  • Constructs related to type assertions
    • Non-nullish assertion operator (postfix !)
    • Definite assignment assertions

Type assertions

A type assertion lets us override a static type that TypeScript has computed for a storage location. That is useful for working around limitations of the type system.

Type assertions are related to type casts in other languages, but they don’t throw exceptions and don’t do anything at runtime (they do perform a few minimal checks statically).

const data: object = ['a', 'b', 'c']; // (A)

// @ts-ignore: Property 'length' does not exist on type 'object'.
data.length; // (B)

  (data as Array<string>).length, 3); // (C)
  • In line A, we widen the type of the Array to object.
  • In line B, we see that this type doesn’t let us access any properties.
  • In line C, we use a type assertion (the operator as) to tell TypeScript that data is an Array. Now we can access property .length.

#typescript #javascript

What is GEEK

Buddha Community

Type Assertions in TypeScript
Samanta  Moore

Samanta Moore


What is Assertion in Java? How to use Assertion in Java

Table of Contents

What is Assertion in Java?

The assertion in Java is used to ensure the correctness of any program’s assumptions as the assertion is assumed to be true when it is executed. The Java Virtual Machine throws an error named AssertionError if the assertion is false. The assertion in Java has found its application mainly for testing purposes. Boolean expressions are used along with assertion statements. An assertion is a statement, and the ‘asset’ keyword is used to carry out an assertion in Java.

#full stack development #assertion in java #assertion in java #assertion in java #what is assertion in java #how to use assertion in java

Arvel  Parker

Arvel Parker


Basic Data Types in Python | Python Web Development For Beginners

At the end of 2019, Python is one of the fastest-growing programming languages. More than 10% of developers have opted for Python development.

In the programming world, Data types play an important role. Each Variable is stored in different data types and responsible for various functions. Python had two different objects, and They are mutable and immutable objects.

Table of Contents  hide

I Mutable objects

II Immutable objects

III Built-in data types in Python

Mutable objects

The Size and declared value and its sequence of the object can able to be modified called mutable objects.

Mutable Data Types are list, dict, set, byte array

Immutable objects

The Size and declared value and its sequence of the object can able to be modified.

Immutable data types are int, float, complex, String, tuples, bytes, and frozen sets.

id() and type() is used to know the Identity and data type of the object







Built-in data types in Python

a**=str(“Hello python world”)****#str**














Numbers (int,Float,Complex)

Numbers are stored in numeric Types. when a number is assigned to a variable, Python creates Number objects.

#signed interger




Python supports 3 types of numeric data.

int (signed integers like 20, 2, 225, etc.)

float (float is used to store floating-point numbers like 9.8, 3.1444, 89.52, etc.)

complex (complex numbers like 8.94j, 4.0 + 7.3j, etc.)

A complex number contains an ordered pair, i.e., a + ib where a and b denote the real and imaginary parts respectively).


The string can be represented as the sequence of characters in the quotation marks. In python, to define strings we can use single, double, or triple quotes.

# String Handling

‘Hello Python’

#single (') Quoted String

“Hello Python”

# Double (") Quoted String

“”“Hello Python”“”

‘’‘Hello Python’‘’

# triple (‘’') (“”") Quoted String

In python, string handling is a straightforward task, and python provides various built-in functions and operators for representing strings.

The operator “+” is used to concatenate strings and “*” is used to repeat the string.


output**:****‘Hello python’**

"python "*****2

'Output : Python python ’

#python web development #data types in python #list of all python data types #python data types #python datatypes #python types #python variable type

Christa  Stehr

Christa Stehr


Nominal typing in Typescript

Nominal & structural typing

Type systems are typically categorized as either structural or nominal. Languages like Java and Scala have primarily nominal type systems, whereas a language like Typescript has a structural type system. Let’s take a brief look at both systems.

Nominal Typing

In a nominal typing system, type compatibility is checked using the name of the types. If they do not have the same name, then they are not compatible; end of story. **If **Typescript had a nominal typing system the type check for the last line would fail:

Image for post

Structural typing

Typescript uses structural typing to decide whether two types are compatible with one another or not. What do we mean by structural typing? Well, let’s consider the following code snippet:

Image for post

To determine whether the type of the constant color(RGBA) is compatible with the type of serializeColor’s parameter x(RGB) the type system must verify that each member of RGB has a corresponding compatible member in RGBA. In this case, RGB has a single member color for which RGBA has a corresponding member with the same type — [number, number, number] — and so it passes the type check. Notice how the type system ignores the additional members that exist on RGBA (alpha).

#typescript #type-safe #type-systems

Flo  D'Amore

Flo D'Amore


Types, Type Systems and TypeScript

What is it all about?

type system is a set of rules for performing various consistency and correctness checks in a program. There are various definitions and classifications for type systems. A good working definition is the following:

_In programming languages, a type system is a logical system comprising a set of rules that assigns a property called a “type” to the various constructs of a computer program, such as variables, expressions, functions or modules. — _Wikipedia

There are different categorizations of type systems including:

  • Static vs. Dynamic
  • Structural vs. Nominal
  • Strong vs. Weak (this is more contentious)

Click here for a comparison of various programming languages and their type systems

Structural vs. Nominal

In a _Nominal type system, _all types are either declared or named explicitly. This type of system is used both for determining equivalence between two items, as well as sub type relationships. The majority of statically typed languages (including Java, C, C#, and Rust) use this type of system.

The_ structural type system _is based on properties of the type and any item matching the properties can pass the equivalence test. **TypeScript **(_Go is another language) _uses a structural type system.

To better understand this, let’s define an interface to capture any I/O response and also implement a class HttpResponse for this interface.

Now a function that will take IOResponse as an argument and print the details.

Image for post

#type-systems #programming #typescript

Ida  Nader

Ida Nader


Type Inference in TypeScript • Full-Stack TypeScript with Kretes • E05

Type inference is the automatic detection of the data type of an expression in a programming language. This feature is present in some strongly statically typed languages, including TypeScript.

Type Inference is one of the most important concepts to master in TypeScript. The official TypeScript documentation doesn’t provide in-depth information about type inferences nor how and why to use it.

Types could be implicit and explicit. Implicit typing removes the need of writing the types and lets the TypeScript compiler reason about the types of variables and expressions.

#type #typescript.