TypeScript Interview Questions | Most Asked Interview Questions
TypeScript Interview Questions Set 1
#1 What are the object-oriented terms supported by TypeScript?
TypeScript supports the following object-oriented terms:
- Modules
- Classes
- Interfaces
- Inheritance
- Data Types
- Member functions
#2 What is TypeScript? Why should we use it?
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript which runs on any browser or JavaScript engine.
TypeScript offers support for the latest JavaScript features and also has some additional features like static typing, object-oriented programming, and automatic assignment of the constructor. This is an important TypeScript Interview Questions
#3 How is TypeScript different from JavaScript?
TypeScript is different from JavaScript in the following manner:
SN | JavaScript | TypeScript |
1 | It was developed by Netscape in 1995. | It was developed by Anders Hejlsberg in 2012. |
2 | JavaScript source file is in “.js” extension. | TypeScript source file is in “.ts” extension. |
3 | JavaScript doesn’t support ES6. | TypeScript supports ES6. |
4 | It doesn’t support strongly typed or static typing. | It supports strongly typed or static typing feature. |
5 | It is just a scripting language. | It supports object-oriented programming concept like classes, interfaces, inheritance, generics, etc. |
6 | JavaScript has no optional parameter feature. | TypeScript has optional parameter feature. |
7 | It is interpreted language that’s why it highlighted the errors at runtime. | It compiles the code and highlighted errors during the development time. |
8 | JavaScript doesn’t support modules. | TypeScript gives support for modules. |
9 | In this, number, string are the objects. | In this, number, string are the interface. |
10 | JavaScript doesn’t support generics. | TypeScript supports generics. |
#4 Why do we need TypeScript?
We need TypeScript:
- TypeScript is fast, simple, and most importantly, easy to learn.
- TypeScript supports object-oriented programming features such as classes, interfaces, inheritance, generics, etc.
- TypeScript provides the error-checking feature at compilation time. It will compile the code, and if any error found, then it highlighted the errors before the script is run.
- TypeScript supports all JavaScript libraries because it is the superset of JavaScript.
- TypeScript support reusability by using the inheritance.
- TypeScript makes app development quick and easy as possible, and the tooling support of TypeScript gives us autocompletion, type checking, and source documentation.
- TypeScript supports the latest JavaScript features including ECMAScript 2015.
- TypeScript gives all the benefits of ES6 plus more productivity.
- TypeScript supports Static typing, Strongly type, Modules, Optional Parameters, etc.
- This is an important TypeScript Interview Questions
#5 Why do we need TypeScript?
There are different reasons why a JavaScript developer should consider using TypeScript. Some of them include:
- Using new features of ECMAScript: TypeScript supports new ECMAScript standards and transpile them to ECMAScript targets of your choice. So, you can use features of ES2015 and beyond.
- Static Typing: JavaScript is dynamically typed and does not know what type a variable is until it is actually instantiated at run-time. TypeScript adds type support to JavaScript.
- Type Inference: TypeScript makes typing a bit easier and a lot less explicit by the usage of type inference. Even if you don’t explicitly type the types, they are still there to save you from doing something which otherwise would result in a run-time error.
- Better IDE Support: The development experience with TypeScript is a great improvement over JavaScript. There is a wide range of IDEs that have excellent support for TypeScript, like Visual Studio & VS Code, Atom, Sublime, and IntelliJ/WebStorm.
- Strict Null Checking: Errors, like cannot read property ‘x’ of undefined, is common in JavaScript programming. You can avoid most of these kinds of errors since one cannot use a variable that is not known to the TypeScript compiler.
- Interoperability: TypeScript is closely related to JavaScript so it has great interoperability capabilities, but some extra work is required to work with JavaScript libraries in TypeScript.
#6 What is as syntax in TypeScript?
The as-is additional syntax for Type assertion in TypeScript. The reason for introducing the as-syntax is that the original syntax (<type>) conflicted with JSX.
Let strLength: number =(someString as string).length:
When using TypeScript with JSX, only as-style assertions are allowed.
#7 Mention some of the features of TypeScript
- Cross-Platform: The TypeScript compiler can be installed on any Operating System such as Windows, macOS, and Linux.
- Object-Oriented Language: TypeScript provides features like Classes, Interfaces, and Modules. Thus, it can write object-oriented code for client-side as well as server-side development.
- Static Type-Checking: TypeScript uses static typing and helps type checking at compile time. Thus, you can find errors while writing the code without running the script.
- Optional Static Typing: TypeScript also allows optional static typing in case you are using the dynamic typing of JavaScript.
- DOM Manipulation: You can use TypeScript to manipulate the DOM for adding or removing elements.
- ES 6 Features: TypeScript includes most features of planned ECMAScript 2015 (ES 6, 7) such as class, interface, Arrow functions, etc.
#8 What are the Benefits of using TypeScript?
The Benefits of using TypeScript are:
- TypeScript is fast, simple, easy to learn, and runs on any browser or JavaScript engine.
- It is similar to JavaScript and uses the same syntax and semantics.
- This helps backend developers write front-end code faster.
- You can call the TypeScript code from an existing JavaScript code. Also, it works with existing JavaScript frameworks and libraries without any issues.
- The Definition file, with .d.ts extension, provides support for existing JavaScript libraries like Jquery, D3.js, etc.
- It includes features from ES6 and ES7 that can run in ES5-level JavaScript engines like Node.js.
#9 What is Type assertions in TypeScript?
A type assertion is like a typecast in other languages but performs no special checking or restructuring of data. It has no runtime impact and is used purely by the compiler. TypeScript assumes that we have performed any special checks that we need.
Let strLength: number =(someString string).length:
#10 What are the Disadvantages of TypeScript?
TypeScript has the following disadvantages:
- TypeScript takes a long time to compile the code.
- It does not support abstract classes.
- If we run the TypeScript application in the browser, a compilation step is required to transform TypeScript into JavaScript.
- Web developers are using JavaScript for decades and TypeScript doesn’t bring anything new.
- To use any third party library, the definition file is a must.
- Quality of type definition files is a concern.
#11 What are the Components of TypeScript?
There are three different types of components in TypeScript which includes:
Language − It comprises of the syntax, keywords, and type annotations.
- The TypeScript Compiler − This compiler (tsc) converts the instructions written in TypeScript to its JavaScript equivalent.
- The TypeScript Language Service − The Language Service exposes an additional layer around the core compiler pipeline, editor-like applications. The language service supports the common set of typical editor operations.
#12 Who developed Typescript and what is the current stable version available?
Anders Hejlsberg developed TypeScript. Also, he is one of the core members of the development team of the C# language. The typescript was first released in the month of October 1st, 2012, and was labeled version 0.8. But, it is developed and maintained by Microsoft under the Apache 2 license. It was designed for the development of a large application.
The current stable version of TypeScript is 3.2 which was released on September 30, 2018. Typescript compiles to simple JavaScript code which runs on any browser that supports the ECMAScript 2015 framework. Also, it offers support for the latest and evolving JavaScript features.
#13 Can an interface extends a class just like a class implements interface?
Yes, an interface extends a class, when it does it inherits the members of the class but not their implementations. Interfaces inherit even the private and protected members of a base class. This means that when you create an interface that extends a class with private or protected members, that interface type can only be implemented by that class or a subclass of it. This is an important TypeScript Interview Questions
#14 How to install TypeScript?
There are two main ways to install TypeScript tools such as:
- Via npm (Node.js Package Manager) command-line tool
npm install -g typescript
- By installing TypeScript via Visual Studio.
If you use Visual Studio or VS Code IDE, the easiest way to add to Visual Studio or VS Code is to search and add a package or download from the TypeScript website. Also, you can download TypeScript Tools for Visual Studio.
#15 What are all the other access modifiers that TypeScript supports?
TypeScript supports access modifiers public, private, and protected which determine the accessibility of a class member as given below:
- public – All the members of the class, its child classes, and the instance of the class can access it.
- protected – All the members of the class and its child classes can access them. But the instance of the class can not access.
- private – Only the members of the class can access them.
If an access modifier is not specified it is implicitly public as that matches the convenient nature of JavaScript.
Also, note that at runtime (in the generated JS) these have no significance but will give you compile-time errors if you use them incorrectly.
#16 Explain Decorators in TypeScript.
A Decorator is a special kind of declaration that can be applied to classes, methods, accessor, property, or parameter. Decorators are functions that are prefixed @expression symbol, where expression must evaluate to a function that will be called at runtime with information about the decorated declaration.
TypeScript Decorators serves the purpose of adding both annotations and metadata to the existing code in a declarative way. To enable experimental support for decorators, you need to enable the experimentalDecorators compiler option either on the command line or in our tsconfig.json:
Command Line
$tsc
--target ES5 --experimentalDecorators
tsconfig.json
{
"compilerOptions": {
"target": "ES5",
"experimentalDecorators": true
}
}
#17 List the built-in types in Typescript.
The built-in data types are also known as primitive data types in Typescript. These are given below.
Number type: It is used to represent number type values. All the numbers in TypeScript are stored as floating-point values.
Syntax: let identifier: number = value;
String type: It represents a sequence of characters stored as Unicode UTF-16 code. We include string literals in our scripts by enclosing them in single or double quotation marks.
Syntax: let identifier: string = ” “;
Boolean type: It is used to represent a logical value. When we use the Boolean type, we get output only in true or false. A Boolean value is a truth value that specifies whether the condition is true or not.
Syntax: let identifier: bool = Boolean value;
Null type: Null represents a variable whose value is undefined. It is not possible to directly reference the null type value itself. Null type is not useful because we can only assign a null value to it.
Syntax: let num: number = null;
Undefined type: It is the type of undefined literal. The Undefined type denotes all uninitialized variables. It is not useful because we can only assign an undefined value to it. This type of built-in type is the sub-type of all the types.
Syntax: let num: number = undefined;
Void type: A void is the return type of the functions that do not return any type of value. It is used where no datatype is available.
Syntax: let unusable: void = undefined;
#18 How do you compile TypeScript files?
The extension for any TypeScript file is .ts. And any JavaScript file is a TypeScript file as it is a superset of JavaScript. So, once you change the extension of “.js” to “.ts”, your TypeScript file is ready. To compile any .ts file into .js use the following command:
tsc
<TypeScript File Name>
For example, to compile “cybertecz.ts”
tsc cybertecz.ts
And the result would be cybertecz.js
#19 What is JSX? Can we use JSX in TypeScript?
JSX is an embeddable XML-like syntax. It is meant to be transformed into a valid JavaScript. JSX came to popularity with the React framework. TypeScript supports embedding, type checking, and compiling JSX directly into JavaScript.
In order to use JSX in our file: we must name our file with a .tsx extension and should enable jsx option.
#20 Can we combine multiple .ts files into a single .js file?
Yes, we can combine multiple files. While compiling, we need to add –outFILE [OutputJSFileName] option.
tsc
--outFile comman.js file1.ts file2.ts file3.ts
This will compile all 3 “.ts” file and output into a single “comman.js” file.
tsc
--outFile file1.ts file2.ts file3.ts
If you don’t provide an output file name, file2.ts and file3.ts will be compiled and the output will be placed in file1.ts. So now your file1.ts contains JavaScript code.
#21 What are the different types of TypeScript?
The Type System represents the different types of values supported by the language. It checks the validity of the supplied values before they are stored or manipulated by the program. This is an important TypeScript Interview Questions
It can be classified into two types such as:
- Built-in: This includes number, string, boolean, void, null and undefined.
- User-defined: It includes Enumerations (enums), classes, interfaces, arrays, and tuple.
#22 What are the different ways of declaring a Variable?
There are four ways of declaring a variable:
var
[identifier] : [type-annotation] = value; //Declaring type and value in a single statement
var
[identifier] : [type-annotation]; //Declaring type without value
var
[identifier] = value; //Declaring its value without type
var
[identifier]; //Declaring without value and type
#23 What are Interfaces in TypeScript?
The interface is a structure that defines the contract in your application. It defines the syntax for classes to follow. It contains only the declaration of the members and it is the responsibility of the deriving class to define the members. The TypeScript compiler uses an interface for type-checking and checks whether the object has a specific structure or not. This is an important TypeScript Interview Questions
Syntax:
interface
interface_name {
// variables' declaration
// methods' declaration
}
#24 What is Scope variable?
The scope is a set of objects, variables, and functions, and the JavaScript can have a global scope variable and local scope variable.
You can declare a variable in two different scopes such as:
- Local Scope Variable – It is a function object which is used within the functions
- Global Scope Variable – You can use this window object out of function and within the functions
These were the TypeScript interview questions Stay tuned to learn more.
If You Want To Get More Daily Such Jobs Updates, Career Advice Then Join the Telegram Group From Given Link And Never Miss Update.
Join Telegram Group of Daily Jobs Updates for 2010-2021 Batch: Click Here
Why You’re Not Getting Response From Recruiter?: Click here
How To Get a Job Easily: Professional Advice For Job Seekers: Click here
Cognizant Latest News: Up To 20K+ Employees Will Be Hired: Click here
COVID-19 Live Tracker India & Coronavirus Live Update: Click here
Why Remove China Apps took down from Play store?: Click here
Feel Like Demotivated? Check Out our Motivation For You: Click here
List of Best Sites To Watch Free Movies Online in 2020: Click here
5 Proven Tips For How To Look Beautiful and Attractive: Click here