mirror of
https://github.com/flynx/Course-JavaScript.git
synced 2025-12-17 17:11:43 +00:00
docs...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
98eedb02bc
commit
6979f9f401
@ -17,19 +17,54 @@
|
|||||||
// ----------------+-------------------+--------------------------
|
// ----------------+-------------------+--------------------------
|
||||||
// identity | equal values are | different objects
|
// identity | equal values are | different objects
|
||||||
// | the same entity | can have same
|
// | the same entity | can have same
|
||||||
// | (singletons) | structure
|
// | (singletons) | structure / "value"
|
||||||
// ----------------+-------------------+--------------------------
|
// ----------------+-------------------+--------------------------
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
// Value vs. Identity
|
||||||
|
// ------------------
|
||||||
|
//
|
||||||
|
// Imagine an apple, it's a "thing" that is an "apple", or we say that
|
||||||
|
// it has a value "apple". There are lots of apples in the world,
|
||||||
|
// each one is different but all are apples. Now imagine two people, each
|
||||||
|
// looking at an apple, wa can say that each person sees the value "apple",
|
||||||
|
// those values are equel, and if those people are sitting at the same
|
||||||
|
// table and looking at the same apple, we say that their apples are the
|
||||||
|
// same, or they are of the same identity, (i.i. the same apple).
|
||||||
|
// Then if we can take a different set of people looking at apples, but
|
||||||
|
// now each one has their own personal apple, the values are still the same,
|
||||||
|
// both apples are still aplles but now they are different aplles, aren't
|
||||||
|
// they? and thus we say they are of different identities.
|
||||||
|
// We'll come back to this concept a bit later, once we introduce JavaScript
|
||||||
|
// values and types.
|
||||||
|
//
|
||||||
|
//
|
||||||
// Basic values
|
// Basic values
|
||||||
// ------------
|
// ------------
|
||||||
//
|
//
|
||||||
// numbers
|
// Numbers
|
||||||
var integer = 123
|
var integer = 123
|
||||||
var floating_point = 3.1415
|
var floating_point = 3.1415
|
||||||
var hex = 0xFF
|
|
||||||
|
|
||||||
// strings
|
//
|
||||||
|
// Note that all numbers are of the same "type", this is different to
|
||||||
|
// alot of other languages where numbers are represented closer to the
|
||||||
|
// low-level hardware implementation and thus are represented by a
|
||||||
|
// whole range of number types.
|
||||||
|
//
|
||||||
|
// Numbers can also be written using different base notations:
|
||||||
|
var bin = 0b101010
|
||||||
|
var oct = 052
|
||||||
|
var hex = 0xFF
|
||||||
|
var dec = 42
|
||||||
|
|
||||||
|
//
|
||||||
|
// But note that these are just different notations and all of the
|
||||||
|
// above resolve to the same number.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Strings
|
||||||
var string = 'string'
|
var string = 'string'
|
||||||
var another_string = "also a string"
|
var another_string = "also a string"
|
||||||
var template = `
|
var template = `
|
||||||
@ -37,11 +72,13 @@
|
|||||||
this can include \\n's
|
this can include \\n's
|
||||||
also summorts expansions ${ '.' }`
|
also summorts expansions ${ '.' }`
|
||||||
|
|
||||||
// boolieans
|
// XXX a note on template strings
|
||||||
|
|
||||||
|
// Boolieans
|
||||||
var t = true
|
var t = true
|
||||||
var f = false
|
var f = false
|
||||||
|
|
||||||
// nulls
|
// Nulls
|
||||||
var n = null
|
var n = null
|
||||||
var u = undefined
|
var u = undefined
|
||||||
var not_a_number = NaN
|
var not_a_number = NaN
|
||||||
@ -77,14 +114,17 @@
|
|||||||
|
|
||||||
// Equality and identity
|
// Equality and identity
|
||||||
//
|
//
|
||||||
|
// XXX
|
||||||
|
|
||||||
|
|
||||||
// Automatic type coercion
|
// Automatic type coercion
|
||||||
//
|
//
|
||||||
|
// XXX
|
||||||
|
|
||||||
|
|
||||||
// Type checking
|
// Type checking
|
||||||
//
|
//
|
||||||
|
// XXX
|
||||||
|
|
||||||
typeof(42) // -> 'number'
|
typeof(42) // -> 'number'
|
||||||
typeof('meaning of life') // -> 'string'
|
typeof('meaning of life') // -> 'string'
|
||||||
@ -111,9 +151,11 @@
|
|||||||
[42] instanceof Object // -> true
|
[42] instanceof Object // -> true
|
||||||
{} instanceof Object // -> true
|
{} instanceof Object // -> true
|
||||||
|
|
||||||
|
//
|
||||||
// this essentially checks if the left oprtand is related to (i.e. in the
|
// this essentially checks if the left oprtand is related to (i.e. in the
|
||||||
// inheritance chain of) the second operand's .prototype, or we can say
|
// inheritance chain of) the second operand's .prototype, or we can say
|
||||||
// that it id "inherited" from the constructor.
|
// that it id "inherited" from the constructor.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -191,6 +233,7 @@
|
|||||||
|
|
||||||
// Extending builtin types
|
// Extending builtin types
|
||||||
//
|
//
|
||||||
|
// XXX
|
||||||
|
|
||||||
// Mixing builtin types
|
// Mixing builtin types
|
||||||
//
|
//
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user