-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMyTypeScriptFile.ts
More file actions
40 lines (33 loc) · 1.13 KB
/
MyTypeScriptFile.ts
File metadata and controls
40 lines (33 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
* Created by jacksonj on 08/01/2016.
*/
function greeter(person: Person) {
return "Hello, " + person.firstname + person.lastname + "<br/>" + "age: " + person.age;
}
function studentGreeter(student : Student):string {
return "Hello student, " + student.fullname + ":age=" + student.age + ":enrolled=" + student.enrolmentStatus + ":student number=" + student.studentNo +
"<br/>" + "number: " + student.doStuff(6,3);
}
interface Person {
firstname: string;
lastname:string;
age:number;
doStuff(number1:number,number2:number):number;
}
enum EnrolmentStatus {
YES,
NO,
AWAITING_OFFER
}
class Student implements Person{
doStuff(number1:number, number2:number):number {
return number1 + number2;
}
fullname : string;
constructor(public firstname, public middleinitial, public lastname, public age , public enrolmentStatus:EnrolmentStatus = EnrolmentStatus.NO, public studentNo:string="unassigned")
{
this.fullname = firstname + " " + middleinitial + " " + lastname;
}
}
var user = new Student("Gary", "R", "Lloyd",12);
document.body.innerHTML = studentGreeter(user);