The question before we start anything is that what we are starting with.
First we are going to break it down. In definition, we got terms like programming language, ECMAScript, high-level, just-in-demand compiled, multi-paradigm, curly-bracket syntax, dynamic typing, prototyping-based object-orientation and first-class functions.
I think, I don’t have to describe it in detail the heading explaining it well. It means the language which we used to make programs. The programs which give us various type of output according to input or without input.
High-Level Programming Language
The language which is not very close to machine like low-level programming languages. In high-level language we get an abstraction of working with computer rather than detailed working with computer.
Dynamic type checking is the process of verifying the type safety of a program at runtime. This means you don’t have to define that variable can/must store string, integer or something else. The language will take care of it dynamically.
Object-oriented programming (OOP) is a programming paradigm based on the concepts of “object”, which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).
This is an abstract from Wikipedia.
— Thank You