0
votes

Typescript - Comment l'instance de classe est créée ici s'il vous plaît?

J'ai du code ici. Mon problème est que je ne parvienne pas à comprendre la manière dont l'instance est créée. Pourquoi nous utilisons ": calculatrice" (ligne 3) à utiliser après "nouvelle calculatrice" (ligne 4). Il existe une différence ? Je sais que j'ai un problème de type dossueux mais j'ai trouvé cette pièce de code pendant que je cherchais des tests en angulaire. Aussi, j'ai cherché dans certains tutoriels mais je ne trouve pas d'explication. XXX


4 commentaires

Lire dorscriptLang.org/docs/handbook/...


Typescript est une langue fortement saisie. Laisser la calculatrice: Calculatrice spécifie que la variable Calculator est de type type .


On ne sait pas ce que votre question est la suivante: Laissez la calculatrice: Calculatrice déclare une variable de type Calculatrice une fois, mais ne l'attribue pas. Calculatory = Nouvelle calculatrice (); est appelé avant chaque test, attribuant une nouvelle calculatrice pour chaque test. En raison de la façon dont Jasmine, fonctionne, vous faites souvent Calculator = NULL dans un AfretAch pour éviter les problèmes de mémoire;


Opérateur NOREFERRER "TOPSIXE"


4 Réponses :


1
votes

Votre fichier "calculatrice.ts" a probablement quelque chose comme: xxx pré>

lorsque vous faites importer {calculatrice} de './calculator'; code>, vous importez La classe de calculatrice dans votre fichier actuel. p>

Laisser la calculatrice: calculatrice; code> déclarera une variable Calculator code> Donnez-lui un type Calculatrice Code > calculatrice code> dans cette variable. Ceci est destiné à la compréhension et à la fin du code, P>

Cela créera une nouvelle instance de la classe. P>

 calculator = new Calculator(); 


0 commentaires

1
votes

En bref, vous utilisez la: Calculatrice sur Donnez un type STROR> à cette variable, d'autre part, il est déclaré à l'extérieur de la portée de l'avant avant forte> il peut donc être accessible sur le Tests.

Si vous avez fait P>

beforeEach(() => {
    let calculator = new Calculator();
});


1 commentaires

@ N.T Laissez-vous recommander que vous puissiez utiliser var, permet de servir à «portée» la variable. Créer l'instance à l'intérieur de l'endroit, il sera inutilisable la variable de calculatrice.



1
votes
import { Calculator } from './calculator'; // importing Calculator class
​
describe('Calculator', () => { // Describing feature in BDD manner

    let calculator: Calculator; 
    // Declaring variable calculator so it's accessible within whole describe() block

    beforeEach(() => { // This hook will be called before each test in your feature
        calculator = new Calculator(); 
        // and therefore will create new instance of a Calculator for each test
    });

    // Here you probably will see something like

    it('should return sum of 2 numbers', () => {
        const result = calculator.add(2,3); // actual instance used
        expect(result).toEqual(5);
    });
​
});

0 commentaires

1
votes

La ligne 3, désigne la déclaration de type de votre variable, mais au début est indéfinie, vous devez donc créer une nouvelle instance de votre type, c'est pourquoi dans la ligne suivante, il fait Nouvelle calculatrice () .


0 commentaires