# 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