C# Strongly Typed & Dynamically Typed Language
In strongly typed language every variable must have type and variable can receives only the values of its type. In TypeScript type identification can happen in compile time. As the named suggested that statically typed language we must necessary to declare the variable with its type before assigning the value to that particular variable.
Let's conclude with an example:
In the above example while I'm trying to insert the different type values in same variable. It shows the error in TypeScript like "subsequent variable declarations must have same type". it means we can not assign other type values to that variable which one we declared with another type. From above examples we get the clear idea.
- Hence, it is also called loosely typed language.
- So, in dynamically typed language there are chances type-related bugs.
- The following figure illustrates the example:
Let's take an example for understanding the same:
As you can see in the given example we declared the variable x without mentioning their datatype as number as 10 then again, we override the same variable with string datatype value as "bikesh". It also take the value because it checks the variable at run time so here it shows the dynamic behavior that's why it is called loosely typed/ dynamically typed language.
We will also see how these two languages differ from each other :-
|Dynamically or Weakly typed||Strongly or Statically typed|
|Dynamically-typed language performs type checking at runtime.||Statically typed languages perform type checking at compile time.|
|Type errors are detected later during execution.||Type errors are detected earlier.|
|Variable assignments are dynamic and can be altered.||Variable assignments are static and cannot be changed.|
|Produces less optimized code, run time error are possible.||Produces more optimized code.|
More such technical concepts you can quickly go through from below 1 hour .NET C# Questions with answers video :-