Module 6: Modern JavaScript, OOP, and Data
Dates, Math, Number Formatting, and Regular Expressions
Use built-in utilities for common calculations, dates, formatting, and pattern matching.
JavaScript includes built-in objects for common tasks. Math provides operations such as round, floor, ceil, max, min, and random. Number.isFinite and Number.isNaN are useful for validating numeric results.
console.log(Math.round(4.6)); // 5
console.log(Math.max(10, 3, 8)); // 10
console.log(Number.isFinite(Number("42"))); // true
Dates and time zones#
Date represents a timestamp. Date parsing and display can be confusing because local time zones affect many operations. For predictable machine-readable storage, use ISO strings such as date.toISOString(). For user-facing output, use Intl.DateTimeFormat with an explicit locale and, when important, an explicit time zone.
const now = new Date();
const formatted = new Intl.DateTimeFormat("en-IN", {
dateStyle: "medium",
timeStyle: "short",
}).format(now);
console.log(formatted);
Regular expressions#
Regular expressions help find patterns in strings. For example, /^\d{4}$/ checks for exactly four digits. A pattern can be useful for simple format checks, but complex validation should account for the full set of valid rules rather than pretending one regex can validate every real-world format.
const code = "2048";
console.log(/^\d{4}$/.test(code));
Practice#
Format today's date for a reader and write a regex that checks whether a string contains exactly six digits. Include invalid test cases.