# Overview *2-3 sentences on the description of the product* ## Summary Characteristics | Open Source | Paradigm | Typing System | Compilation | D vs. I | | ----------- | -------- | --------------------- | ----------- | -------------- | | | | [[dynamically typed]] | | [[Imperative]] | ## Documentation Link(s) ## Pro and Cons Summary ### Pros ### Cons # Key Characteristics ## Key Features ### Variable and Data Type Declarations Data types include: undefined, null, boolean, string, symbol, number, and object. ```js var myName = "Ryan"; myName = 8; // or let ourName = "another name"; // or // Can't change const pi = 3.14; ``` ### Arrow Functions A compact syntax for declaring functions in Javascript. | ![[2025-01-28_Javascript-2.png]] | ![[2025-01-28_Javascript-3.png]] | | -------------------------------- | -------------------------------- | | | | ### Callbacks vs. Promises A `Callback` is a function that is passed as a parameter into another function and the `callback` function is executed after a set of actions completes. ![[2025-01-28_Javascript-1.png]] A `Promise` is a potential replacement for `Callbacks`. In a `Promise` you don't need to keep track of the various callbacks within a function. These are good for things that may need to run a function for an extended period time, but would like other parts of the script to still execute. ```js let p = new Promise((resolve, reject) => { let a = 1 + 1 if (a == 2) { resolve('Success') } else { reject('Failed') } }) p.then((message) => { console.log("This is in the then " + message) }).catch((message) => { console.log("This is in the catch " + message) }) ``` ### Error Handling Mechanisms # Use Cases # Performance ## Memory Management ## [[Concurrency and Parallelism]] Support # Ecosystem and Integration ## [[Integrated Development Environments]] (IDEs) ## Package Managers and Dependency Management # Interoperability # Documentation Links ## Standard Libraries and Modules ## Reference #### Working Notes #### Sources