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.
4 Réponses :
Votre fichier "calculatrice.ts" a probablement quelque chose comme: lorsque vous faites Cela créera une nouvelle instance de la classe. P> 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> calculator = new Calculator();
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();
});
@ 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.
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);
});
â
});
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 () code>. p>
Lire dorscriptLang.org/docs/handbook/...
Typescript est une langue fortement saisie.
Laisser la calculatrice: Calculatrice CODE> spécifie que la variableCalculator code> est de type code> type code>.On ne sait pas ce que votre question est la suivante:
Laissez la calculatrice: Calculatrice Code> déclare une variable de typeCalculatrice code> une fois, mais ne l'attribue pas.Calculatory = Nouvelle calculatrice (); code> est appelé avant chaque test, attribuant une nouvelle calculatricecode> pour chaque test. En raison de la façon dont Jasmine, fonctionne, vous faites souventCalculator = NULL code> dans unAfretAch code> pour éviter les problèmes de mémoire;Opérateur NOREFERRER "TOPSIXE"