1
00:00:00,480 --> 00:00:03,041
In this module, we learned about the Math

2
00:00:03,041 --> 00:00:05,831
object and how it encapsulates a host of

3
00:00:05,831 --> 00:00:08,879
math constants, like Math.PI for the value

4
00:00:08,879 --> 00:00:11,236
of PI and other constants. The Mozilla

5
00:00:11,236 --> 00:00:13,577
developer documentation is a great place

6
00:00:13,577 --> 00:00:16,066
to look for more info on the various Math

7
00:00:16,066 --> 00:00:17,941
functions available. We also took a look

8
00:00:17,941 --> 00:00:20,153
at the Date object. The key takeaways are

9
00:00:20,153 --> 00:00:22,470
that you can create a new date that

10
00:00:22,470 --> 00:00:24,104
represents the current date like this. We

11
00:00:24,104 --> 00:00:25,764
also learned that there are a few

12
00:00:25,764 --> 00:00:27,437
constructors for creating dates with

13
00:00:27,437 --> 00:00:31,051
specific dates and time. We then

14
00:00:31,051 --> 00:00:33,029
discovered the various methods to inspect

15
00:00:33,029 --> 00:00:35,760
the different date and time parts of a

16
00:00:35,760 --> 00:00:37,551
date, and don't forget that the number

17
00:00:37,551 --> 00:00:39,546
returned by getMonth is zero based. That

18
00:00:39,546 --> 00:00:42,051
can trip you up if you forget. Also

19
00:00:42,051 --> 00:00:43,506
remember that these functions use the

20
00:00:43,506 --> 00:00:45,426
local time zone, and that there are UTC

21
00:00:45,426 --> 00:00:47,341
versions that return values in the

22
00:00:47,341 --> 00:00:51,035
Universal Time. Finally, we looked at the

23
00:00:51,035 --> 00:00:52,307
Regex object. Remember that there are two

24
00:00:52,307 --> 00:00:53,738
different ways to create a regular

25
00:00:53,738 --> 00:00:58,378
expression using the new keyword or using

26
00:00:58,378 --> 00:01:00,772
the Regex shorthand, and then you can use

27
00:01:00,772 --> 00:01:01,661
the test function, which will return a

28
00:01:01,661 --> 00:01:04,451
boolean indicating whether the string

29
00:01:04,451 --> 00:01:07,955
contains text that matches the regular

30
00:01:07,955 --> 00:01:09,673
expression. We also looked at the exec

31
00:01:09,673 --> 00:01:11,327
command to search a string, and remember

32
00:01:11,327 --> 00:01:13,474
that the Regex object is stateful, meaning

33
00:01:13,474 --> 00:01:16,296
that you can call exec multiple times and

34
00:01:16,296 --> 00:01:18,909
keep finding multiple matches in the

35
00:01:18,909 --> 00:01:20,841
string. And with that summary, this wraps

36
00:01:20,841 --> 00:01:24,113
up this module and course. In this course,

37
00:01:24,113 --> 00:01:25,789
we also learned how to create objects

38
00:01:25,789 --> 00:01:27,975
using object literals, constructor

39
00:01:27,975 --> 00:01:31,884
functions, and classes, how to modify

40
00:01:31,884 --> 00:01:33,273
property descriptors with

41
00:01:33,273 --> 00:01:35,904
Object.defineProperty, and how to create

42
00:01:35,904 --> 00:01:37,767
property getters and setters. We took a

43
00:01:37,767 --> 00:01:40,470
deep look into what prototypes are and how

44
00:01:40,470 --> 00:01:43,316
they affect inheritance behind the scenes,

45
00:01:43,316 --> 00:01:45,885
and how to create inheritance chains with

46
00:01:45,885 --> 00:01:49,023
constructor functions and with classes.

47
00:01:49,023 --> 00:01:50,227
Thanks for joining me, and I hope you've

48
00:01:50,227 --> 00:01:55,000
enjoyed this course on JavaScript Objects, Prototypes, and Classes.

