JavaScript Operators

479 views

Published on

This is the slide stack to the two JavaScript Operators YouTube videos at https://www.youtube.com/watch?v=4sF-9RqDxEA and https://www.youtube.com/watch?v=lRijlc3tsw0

Published in: Internet
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
479
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JavaScript Operators

  1. 1. JavaScript Operators Charles Russell Bennu Bird Media
  2. 2. What is an Operator ● An Operator is a function with different syntax ● Operators performs some action and returns a value ● The values being acted upon are called operands ● The value returned is the result ● Operands may be literals, variables, or expressions ● They are used to make expressions
  3. 3. Operators can be catagorized by size ● An expression can consist of many operators but when broken down to each operation idvidually, there are three sizes ● A unary operator is an operator on a single value – The – sign makes a number negative ● A binary operator is an operator works with two values – Your normal addition, subtraction, multiplication and division ● Ternary Operator that takes three values
  4. 4. The + Operator ● It is both a unary and binary operator ● Unary operation, + on a line in front of a variable and it makes that variable a number. ● It tries to make sense of the operand. This is called coercion If the string contains only digits then you get the value contained in the string, a boolean returns 1 for true 0 for false ● If it can not make a number that makes sense a NaN is returned ex: any letters in the string
  5. 5. The + operator in binary mode ● Numbers is not all this operator works on ● This is also the concatenation operator for strings. ● The various combinations of number and string resolve to different data types with this language ● number + number = number ● string + string = string ● string + number = string ● Number () or String() to type cast as needed.
  6. 6. Subtraction or Minus ● The – operator is again both binary and unary ● Returns a number no matter the mode ● A-B ● The – operator returns A reduced by the value of B – If the operands can be logically turned to numbers the result will be the value of the operations otherwise you get NaN
  7. 7. The – operator in Unary mode For numeric value changes the sign (pos to neg) (neg to pos) ● Tries to make a number out of other data types
  8. 8. Introducing the increment ● ++ unary operator that adds 1 to the current value ● Pre increment post increment. ● Although in the end the variable is incremented the side of the variable you are incrementing that you put the operater on matters ● If the operator comes before the variable (pre increment) the operation occures then assignment ● If the operator comes second assignment happens then the increment ● Strings will try to be converted to numbers non numeric strings will return NaN
  9. 9. Decrement ● If there is an increment operator then logically there must be a decrement operator ● As you would suspect - - ● Behaves in a simular fashion to ++
  10. 10. Multiplication ● * ● Binary operator ● Returns NaN if an operand is a non numeric string
  11. 11. Division ● / ● Binary operator ● Behaves in a simular fashion to Multiplication
  12. 12. Modulus ● % ● Binary operator ● Does integer divsion and returns the remainder ● Again type conversion is attempted
  13. 13. Assignment ● = ● Assigns a value to a variable ● Lvalue assigned to rvalue ● Not a check for equality that is another operator ● X=5 Works fine ● 5=5 'X' = 5 or 'X' = 'X' results in a reference error
  14. 14. The Rest of the Assignment Family ● +=, -=, *=, %= ● These operators do a calculation and assign the value simutaneously ● Example ● A=5; A+=3 – Result 8
  15. 15. Comparison ● These return a boolean ● Equality == ● Super Equality === ● Inequality != ● Super Inequality !== ● Less than < ● Less than or Equal <= ● Greater Than > ● Greater than or Equal to >=
  16. 16. Next: More Operators
  17. 17. JavaScript Operators part2 Charles Russell Bennu Bird Media
  18. 18. Whats the truth ● I'm not strange, weird, off, nor crazy, my reality is just different from yours (Lewis Carol) ● You would expect && and || to return boolean but it may or may not ● Shortcut evaluation – Evaluation of is done from left to right value returned as soon as evaluation can be made – Remember truthy and falsey ● The truthy or falseyness of any value can be determined ● This means that a value that is not boolean can be returned and the truthynesss or falsyness of the expression can be evaluated.
  19. 19. And && ● A && B ● True Only if both opeands are true ● If A falsey then B returned Data Type unchanged ● Used to Gaurd B A B Result T T B T F B F F A F T A
  20. 20. Or || ● A || B ● If A False B is returned data type unchanged ● True if A truthy or B Truthy ● Very useful to check if a value is set A B Result T T A T F A F T B F T B
  21. 21. Not ! ● Reverses a Boolean value
  22. 22. Bit opeations ● & bitwise and ● | bitwise or ● ^ bitwise xor ● ~ bitwise not ● << shift left ● >> shift right ● >>> shift right zero fill
  23. 23. Bit twiddling used to something to avoid ● This was the convential wisdom. ● While this improved effiency in other languages in this one performance degraded ● This seems to be changing ● http://dreaminginjavascript.wordpress.com/2009/02/09/bi ● What you can do with this ● http://michalbe.blogspot.com/2013/03/javascript-less-kno ● http://graphics.stanford.edu/~seander/bithacks.html
  24. 24. The conditional operator ● This is the tenary operator and it roughly equates to if operand 1 then operand 2 else operand 3 ● Operand1 ? Operand2 : Operand3 ● Operand 1 is the boolean if true – Do the action specified in Operand 2 ● Else do the action in specified operand 3
  25. 25. Grouping ● () ● Groups expressions that need to be evaluated first
  26. 26. Yes there are others ● I am not mentioning some operators here because many of these not mentioned apply to functions, arrays and Objects topics yet to be covered these other operaterators will be introduced and disscussed when and if appropriate
  27. 27. Operator Precedence [] () ++ -- - ~ ! * / % + - + << >> >>> < <= > >= == != === !== & ^ | && || ? : = += -= *= ...

×