Let's read this object's structure and follow how it changes over the script.
const student = { name: "Ali", age: 16, isEnrolled: true }; creates an object with three starting properties. Each one is a key: value pair, separated by commas, all wrapped in curly braces.
student.grade = "11th"; adds a fourth property that wasn't part of the original object literal at all. This is legal because objects declared with const can still have their properties changed or added const only locks the variable itself from being reassigned to a completely different object, not its internal contents.
student.name, student.age, and student.grade in the template literal each read one specific property by its key dot notation here is reading, not writing, since there's no = after it.
The final output shows all four pieces of information, including the grade property that didn't exist when the object was first created a clear demonstration that objects in JavaScript are flexible containers you can keep shaping as your program runs, not fixed, one-time definitions.
