Shortcut to declare a "return type" in typescript

I follow the Typescript reference to learn about the class.

Here is one example:

class Greeter {
    greeting: string;
    constructor(message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}

var greeter: Greeter; // return type: Greeter
greeter = new Greeter("world"); // implement greeter variable
alert(greeter.greet());

In typescript:

var greeter; // return type: any
var greeter: Greeter; // return type: Greeter (implicit convertion `any` to `Greeter`)

So my question is: if we know exactly the type of return value, why can't we use the Greeterkeyword instead var?

What I want to archive:

Greeter greeter = new Greeter("world"); // same to: var greeter = new Greeter("world");
+4
source share
3 answers

This is done to ensure consistency with javascript. The type definition may be omitted, and TypeScript will automatically infer the type of the variable.

var greeter : Greeter = new Greeter();

Same as

var greeter = new Greeter();

This is a little near the dot, but you can also declare a variable that can contain several types. for example

var a : Greeter | number

Greeter . -, .

+5

.

var greeter = new Greeter("world");

, .

: . , . , , - , . :

var greeter: Greeter = new Greeter("world");

Java, . , . .

+2

, , , TypeScript.

, :

var greeter: Greeter = new Greeter("world");

Java #, TypeScript .

+2

Source: https://habr.com/ru/post/1625555/


All Articles