JavaScript/CheatSheet

From Wiki

Style guides

Comments

// single-line comment

/* 
multi-line comment
*/

Data types & variable declaration

var num = 8;                                   // number
var strg = "Joe";                              // string
var vobj = {first: "John", last:"Doe"};        // object
var booli = false;                             // boolean
var arr = ["HTML","CSS","JS"];                 // array
var a; typeof a;                               // undefined
var a = null;                                  // value null

                                               // newer declarations (>2015)
const pi = 3.14;                               // 
let num = 8;                                   // 

typeof strg                                    // =string

Arrays

var title = new Array();
title[0] = "Mr.";
title[1] = "Mrs.";
element = title.slice(-1);
  • Methods
concat()   both = array1.concat(array2)          // joins two or more arrays
join()     text = array.join()                   // joins array to form one long string
map()      newAr = array.map(Math.sqrt)          // return a new array after function
pop()                                            // remove last element
shift()                                          // remove first element
unshift()                                        // add new element to beginning 
push()                                           // add new element to end
reduce()
reverse()                                        // reverse the order of elements
slice()     array,slice(start, end)              
splice()    array.splice(position, n, "New");    // at position, remove n-elements and insert new elements
forEach()   array.forEach(function)              // calls a function for each element
sort()
filter()   
  • Properties
length

Objects (key : value)

var user = { firstname: "Peter", lastname: "Johnson" }
user.phone = "01234"
user.firstname
user["firstname"]
var result = arrayName.filter(obj => {
  return obj.key === value
})

Strings

charAt()
charCodeAt()
concat()
fromCharCode()
indexOf()
lastIndexOf()
match()
replace()              zpl = zpl.replace("1234567890",msg.serialnumber)
search()
slice()                checksum = String(sum).slice(-1)  # get last digit
split() 
substr()
substring()
toLowerCase()
toUpperCase()
valueOf()

trim()                 remove whitespace from both sides
trimStart()
trimEnd()

includes()             if (string.includes(".prn")) {}
single-quote
  var str = 'test'                    // use single-quotes for strings

back-tick
  var str = `text and ${variable}`    // use back-ticks when multiline or interpolation 

double-quote
  var str = "test"


  • Remove ANSI colors from string
payload = payload.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
  • add leading zeros
var string = "000000" + integer.toString()
string = string.substr(string.length-6)

Conversions

string = integer.toString()            # integer ->  string
String(123)                            # integer ->  string 
toExponential()
toFixed()
toPrecision()

integer = parseInt(string) + 1         # string  ->  integer
float   = parseFloat(string)           # string  ->  float
jsonvar = JSON.parse(string)           # string  ->  json
number = Number("1.23")                # string  ->  number 
  • Date & Time
dt = new Date();
Number(dt)                             # date    -> number
dt.getTime()                           # date    -> number
String(dt)                             # date    -> string
dt.toString()                          # date    -> string

Functions

function addition(number1, number2) {
  return number1 + number2;
}


var person = {
    name: 'Peter',
    getName: function () {
        return this.name;
    }
}

person.getName()

Operators

+           Addition
-           Subtraction
*           Multiplication
/           Division
(...)       Grouping operator, operations within brackets are executed earlier than those outside
%           Modulus (remainder )
++          Increment numbers
--          Decrement numbers

==          Equal to
===         Equal value and equal type
!=          Not equal
!==         Not equal value or not equal type
>           Greater than
<           Less than
>=          Greater than or equal to
<=          Less than or equal to
?           Ternary operator

&&          Logical and
||          Logical or
!           Logical not

&           AND statement
|           OR statement
~           NOT
^           XOR
<<          Left shift
>>          Right shift
>>>         Zero fill right shift


if - else

if (condition) {
    // if condition is met
} else {
    // if condition is not met
}

switch

switch(var) {
  case 1:
    // code 
    break;
  case 2:
    // code
    break;
  default:
    // code
} 

Loops

for (var i = 0; i < 10; i++){
}

while (i < 10) {
  i++;
}

do {
  i++;
} while (i < 10);

break
continue

Escape Characters

\'      Single quote
\"      Double quote

\\      Backslash
\b      Backspace
\f      Form feed
\n      New line
\r      Carriage return
\t      Horizontal tabulator
\v      Vertical tabulator

Dates & Times

d = new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
function ISO8601_week_no() 
  {
     dt = new Date(); 
     var tdt = new Date(dt.valueOf());
     var dayn = (dt.getDay() + 6) % 7;
     tdt.setDate(tdt.getDate() - dayn + 3);
     var firstThursday = tdt.valueOf();
     tdt.setMonth(0, 1);
     if (tdt.getDay() !== 4) 
       {
      tdt.setMonth(0, 1 + ((4 - tdt.getDay()) + 7) % 7);
        }
     return 1 + Math.ceil((firstThursday - tdt) / 604800000);
  }

Random

Math.random();                         float (0.0 - 1.0)

Math.floor(Math.random() * 10);        int (0 - 9)
Math.floor(Math.random() * 11);        int (0 - 10)


Math.floor(Math.random() * (max - min) ) + min;