In this lesson, you will learn about seven important concepts in JavaScript programming language.
These concepts are important to understand JavaScript in a clear way and to understand how to write better source codes.
Concept 01) Host Facilities
JavaScript has Core Language Resources and Host Facilities.
The Core Language Resources are features like as: arithmetic operators, logic operators, for-loop statements, etc. They are resources of language itself.
The Host Facilities are resources from where your code is being interpreted (Host Environment), like as console.log, console.error, console.info, etc.
Concept 02) Prototype-Based
JavaScript is prototype-based, rather than class-based like Java.
In class-based languages, the objects use a class as a static template. You cannot change the class in runtime, and the class is not an object ready-to-use itself.
In prototype-based JavaScript, the objects use a prototype as a dynamic template. You can change the prototype in runtime, and the prototype is an object ready-to-use itself.
Concept 03) Garbage Collected
JavaScript automatically allocates and releases the memory according is needed by your source code.
The memory is allocated when you create an object. And is released when the object is not being used.
Concept 04) Hoisting
JavaScript allows declared variables (using var) and declared functions to be accessed anytime.
Concept 05) Multi-Paradigm
JavaScript supports different programming paradigms (programming techniques), combined or not.
Concept 06) Object-Based
In JavaScript, all things are within an object. Including variables in the global variables.
Concept 07) General Purpose
Using JavaScript you can make applications for different platforms, not only to the web and not only to the client-side.
For example: using NodeJS you can write code to the server-side, and using React Native you can write code to the Smartphones.
References
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Introduction
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
Important
My native language is Portuguese, you can help me improve the Grammar and Vocabulary commenting to the article or sending me a private message. Thanks!
Top comments (0)