-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoop-parking-lot.js
More file actions
50 lines (44 loc) · 989 Bytes
/
oop-parking-lot.js
File metadata and controls
50 lines (44 loc) · 989 Bytes
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
41
42
43
44
45
46
47
48
49
50
class ParkingLot {
constructor(space) {
this.limit = space
this.usage = 0
this.cars = {}
}
park(car) {
if (this.usage <= this.limit) {
if (this.cars[car.name]) {
console.log('car already parked')
}
else {
this.usage++
this.cars[car.name] = car
}
}
else {
console.log("parking lot is full!")
}
}
exit(car) {
if (!this.cars[car.name]) {
console.log('car is not parked!')
}
else {
delete this.cars[car.name]
this.usage--
}
}
available() {
return this.usage < this.limit
}
}
class Car {
constructor(name) {
this.name=name
}
}
const parkingLot = new ParkingLot(20)
let benz = new Car("mercedes")
parkingLot.park(benz)
console.log(parkingLot.usage)
parkingLot.exit(benz)
console.log(parkingLot.usage)