Skip to content

Files

Latest commit

44d7ace · May 11, 2023

History

History

Javascript

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
May 11, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Oct 5, 2020
Feb 13, 2022
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Oct 4, 2020
Feb 12, 2021
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Feb 15, 2023
Oct 5, 2020
Feb 7, 2022

Arithmetic Operators

Only for additions, if one of the parameters is a string, the other one will be converted to string as well. For all other operations, as long as one of the parameters is a number, the other one will be converted to a number.

Additions will invoke three types of type conversions: to primitive types, to numbers and to string:

1 + '1' // '11'

2 * '2' // 4

[1, 2] + [2, 1] // '1,22,1'

// [1, 2].toString() -> '1,2'
// [2, 1].toString() -> '2,1'
// '1,2' + '2,1' = '1,22,1'

## Can you name two programming paradigms important for JavaScript app developers?

JavaScript is a multi-paradigm language, supporting imperative/procedural programming along with OOP (Object-Oriented Programming) and functional programming. JavaScript supports OOP with prototypal inheritance.

## What is functional programming?

Functional programming produces programs by composing mathematical functions and avoids shared state & mutable data. Lisp (specified in 1958) was among the first languages to support functional programming, and was heavily inspired by lambda calculus. Lisp and many Lisp family languages are still in common use today.

## What is the difference between classical inheritance and prototypal inheritance?

Class Inheritance: instances inherit from classes (like a blueprinta description of the class), and create sub-class relationships: hierarchical class taxonomies. Instances are typically instantiated via constructor functions with the `new` keyword. Class inheritance may or may not use the `class` keyword from ES6.

Prototypal Inheritance: instances inherit directly from other objects. Instances are typically instantiated via factory functions or `Object.create()`. Instances may be composed from many different objects, allowing for easy selective inheritance.