Tesztkörnyezet – Interfészek használata a TypeScriptben
Ebben a tesztkörnyezetben néhány JavaScript-kódot erősen gépelt kódmá alakít át interfészek használatával.
A JavaScript-kód két függvényt tartalmaz: calculateInterestOnlyLoanPayment
a csak kamatozású kölcsön törlesztőrészletét számítja ki, és calculateConventionalLoanPayment
a hagyományos kölcsön törlesztőrészletét számítja ki. A legtöbb hitelszámításhoz hasonlóan mindkét függvény elfogadja és interestRate
paramétereket is elfogadprincipal
. A különbség köztük az, hogy a calculateConventionalLoanPayment
függvény egy harmadik tulajdonságot fogad el, months
amelyet a calculateInterestOnlyLoanPayment
függvény nem.
Property | Leírás |
---|---|
principal |
A hitel tőkeösszege. |
interestRate |
A kölcsön éves kamatlába. Például az 5% 5-ként van megadva. |
months |
A hónapokban megadott kölcsön futamideje. A csak kamatozású kölcsön nem igényli ezt a tulajdonságot, mert a hónapok száma irreleváns (a kölcsön soha nem lesz visszafizetve, ha minden hónapban csak kamatot fizetnek.) |
Ebben a gyakorlatban a következőket fogja végrehajtani:
- Deklaráljon egy olyan felületet
Loan
, amely két tulajdonságot határoz meg,principal
ésinterestRate
. - Deklaráljon egy olyan felületet
ConventionalLoan
, amely kiterjeszthetőLoan
, és meghatározza a hagyományos hitelhez szükséges további tulajdonságot.months
- Frissítse a két függvényt az új interfészek implementálásához, és írja be erősen a paramétereket.
1. gyakorlat – Az interfészek deklarálása
Klónozza a kezdő adattárat a parancssorba az alábbiak beírásával.
git clone https://github.com/MicrosoftDocs/mslearn-typescript cd mslearn-typescript/code/module-03/m03-start code .
Nyissa meg a fájlmodul03.ts fájlt.
Keresse meg a következőt
TODO: Declare the Loan interface
: . Deklaráljon egy úgynevezettLoan
felületet, amely két tulajdonságot határoz meg,principal
ésinterestRate
mindegyiketnumber
.interface Loan { principal: number, interestRate: number //* Interest rate percentage (eg. 14 is 14%) }
Keresse meg a következőt
TODO: Declare the ConventionalLoan interface
: . Deklaráljon egy olyan felületetConventionalLoan
, amely kiterjesztiLoan
, és meghatározza a hagyományos hitelhezmonths
szükséges további tulajdonságot , mint anumber
.interface ConventionalLoan extends Loan { months: number //* Total number of months }
2. gyakorlat – Az interfészek implementálása
Keresse meg a következőt
TODO: Update the calculateInterestOnlyLoanPayment function
: . Cserélje le acalculateInterestOnlyLoanPayment
függvény két paraméterét egy típusúLoan
objektumra (példáulloanTerms: Loan
), és adja meg a függvénystring
visszatérési értékét.function calculateInterestOnlyLoanPayment(loanTerms: Loan): string { // ... }
Néhány hibát fog látni, mert a TypeScript nem ismeri fel a paramétereket
interestRate
ésprincipal
a . Cserélje le a függvény paraméternevét azLoan
objektum tulajdonságaira. (Például:loanTerms.interestRate
).function calculateInterestOnlyLoanPayment(loanTerms: Loan): string { // Calculates the monthly payment of an interest only loan let interest = loanTerms.interestRate / 1200; // Calculates the Monthly Interest Rate of the loan let payment; payment = loanTerms.principal * interest; return 'The interest only loan payment is ' + payment.toFixed(2); }
Adja meg a függvényben a változókat és
payment
ainterest
calculateInterestOnlyLoanPayment
változókat.numbers
Tesztelje a függvényt
calculateInterestOnlyLoanPayment
annak ellenőrzéséhez, hogy megfelelően működik-e. Ne feledje, hogy a paramétereket most már objektum formájában kell átadnia a függvénynekLoan
.let interestOnlyPayment = calculateInterestOnlyLoanPayment({principal: 30000, interestRate: 5}); console.log(interestOnlyPayment); //* Returns "The interest only loan payment is 125.00"
Keresse meg a következőt
TODO: Update the calculateConventionalLoanPayment function
: . Frissítse acalculateConventionalLoanPayment
függvényt, ezúttal cserélje le a három paramétert egy típusúConventionalLoan
objektumra, és adja meg a függvénystring
visszatérési értékét. Végezze el a függvény implementálásának fennmaradó frissítéseitcalculateConventionalLoanPayment
.function calculateConventionalLoanPayment(loanTerms: ConventionalLoan): string { // Calculates the monthly payment of a conventional loan let interest: number = loanTerms.interestRate / 1200; // Calculates the Monthly Interest Rate of the loan let payment: number; payment = loanTerms.principal * interest / (1 - (Math.pow(1/(1 + interest), loanTerms.months))); return 'The conventional loan payment is ' + payment.toFixed(2); }
Tesztelje a függvényt
calculateConventionalLoanPayment
annak ellenőrzéséhez, hogy megfelelően működik-e. Ne feledje, hogy a paramétereket most már objektum formájában kell átadnia a függvénynekConventionalLoan
.let conventionalPayment = calculateConventionalLoanPayment({principal: 30000, interestRate: 5, months: 180}); console.log(conventionalPayment); //* Returns "The conventional loan payment is 237.24"
Tesztkörnyezeti megoldás
A kód végleges verziójának megtekintéséhez írja be a következőt a parancssorba.
cd ../m03-end
code .
Nyissa meg a fájlmodul03.ts fájlt a labor megoldásának megtekintéséhez. A megoldás futtatásához a fejlesztői környezet beállításával kapcsolatos további információkért tekintse meg a fenti Tesztkörnyezet beállítási szakaszát.