1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+ < head >
4+ < meta charset ="UTF-8 ">
5+ < meta http-equiv ="X-UA-Compatible " content ="IE=edge ">
6+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 ">
7+ < title > Document</ title >
8+ </ head >
9+ < body >
10+ < script >
11+ //cara untuk membuat object pada javascript
12+ //1. object literal
13+ // let mahasiswa = {
14+ // nama: "azizan nur rohman", //properti isinya nilai
15+ // energi: 10,
16+ // makan: function(porsi){ //method isinya function
17+ // this.energi = this.energi + porsi;
18+ // console.log(`halo ${this.nama}, selamat makan`);
19+ // }
20+ // }
21+
22+ // let mahasiswa2 = {
23+ // nama: "azizan nur rohman", //properti isinya nilai
24+ // energi: 10,
25+ // makan: function(porsi){ //method isinya function
26+ // this.energi = this.energi + porsi;
27+ // console.log(`halo ${this.nama}, selamat makan`);
28+ // }
29+ // }
30+ //kekurangannya kalau nambah mahasiswa kita harus menggunakan nama variabel yang berbeda ex. let mahasiswa1, mahasiswa2 dan seterusnya
31+
32+ //======================================================
33+
34+ // 2. Function Declaration
35+ // keuntunggannya tidak perlu membuat duplikat dari objeknya, kita cuman tinggal buat templatenya(function) lalu pangil di instansiasinya saja
36+ // ex template function
37+ // function Mahasiswa(nama, energi){
38+ // let mahasiswa = {}; //objeck kosong
39+ // mahasiswa.nama = nama;
40+ // mahasiswa.energi = energi;
41+ // mahasiswa.makan = function(porsi){
42+ // this.energi += porsi
43+ // console.log(`halo ${this.nama}, selamat makan`);
44+ // }
45+ // mahasiswa.main = function(jam){
46+ // this.energi -= jam
47+ // console.log(`halo ${this.nama}, energi kamu berkurang karena main`)
48+ // }
49+ // return mahasiswa;
50+ // }
51+ // ex end template function
52+
53+ //ex instansiasi
54+ // let azizan = Mahasiswa('azizan', 10);
55+ // let azhar = Mahasiswa('azhar', 20);
56+ //ex end instansiasi
57+
58+ //======================================================
59+ //3. Constructro function
60+ // keyword 'new'
61+ //sama dengan function declaration cuman bedanya, di constructor function tidak ada returnya, cuman ada new sebagai returnya
62+
63+ // ex template function
64+ function Mahasiswa ( nama , energi ) {
65+ this . nama = nama ;
66+ this . energi = energi ;
67+ this . makan = function ( porsi ) {
68+ this . energi += porsi
69+ console . log ( `halo ${ this . nama } , selamat makan dari custructor function` ) ;
70+ }
71+ this . main = function ( jam ) {
72+ this . energi -= jam
73+ console . log ( `halo ${ this . nama } , energi kamu berkurang karena main dari custructor function` )
74+ }
75+ }
76+ // ex end template function
77+
78+ //ex instansiasi
79+ let azizan = new Mahasiswa ( 'azizan' , 10 ) ;
80+ let azhar = new Mahasiswa ( 'azhar' , 20 ) ;
81+ //ex end instansiasi
82+
83+ </ script >
84+ </ body >
85+ </ html >
0 commit comments