SlideShare uma empresa Scribd logo
1 de 27
JavaScript
Operators
Charles Russell
Bennu Bird Media
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
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
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
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.
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
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
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
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 ++
Multiplication
●
*
●
Binary operator
●
Returns NaN if an operand is a non numeric string
Division
●
/
●
Binary operator
●
Behaves in a simular fashion to Multiplication
Modulus
●
%
●
Binary operator
●
Does integer divsion and returns the remainder
●
Again type conversion is attempted
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
The Rest of the
Assignment Family
●
+=, -=, *=, %=
●
These operators do a calculation and assign the
value simutaneously
●
Example
●
A=5; A+=3
– Result 8
Comparison
●
These return a boolean
●
Equality ==
●
Super Equality ===
●
Inequality !=
●
Super Inequality !==
●
Less than <
●
Less than or Equal <=
●
Greater Than >
●
Greater than or Equal to >=
Next: More Operators
JavaScript
Operators part2
Charles Russell
Bennu Bird Media
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.
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
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
Not !
●
Reverses a Boolean value
Bit opeations
●
& bitwise and
●
| bitwise or
●
^ bitwise xor
●
~ bitwise not
●
<< shift left
●
>> shift right
●
>>> shift right zero fill
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
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
Grouping
●
()
●
Groups expressions that need to be evaluated
first
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
Operator Precedence
[] ()
++ -- - ~ !
* / %
+ - +
<< >> >>>
< <= > >=
== != === !==
&
^
|
&&
||
? :
= += -= *= ...

Mais conteúdo relacionado

Mais procurados

Ruby Functional Programming
Ruby Functional ProgrammingRuby Functional Programming
Ruby Functional ProgrammingGeison Goes
 
Type conversions
Type conversionsType conversions
Type conversionssanya6900
 
WHY JAVASCRIPT FUNCTIONAL PROGRAMMING IS SO HARD?
WHY JAVASCRIPT FUNCTIONAL PROGRAMMING IS SO HARD? WHY JAVASCRIPT FUNCTIONAL PROGRAMMING IS SO HARD?
WHY JAVASCRIPT FUNCTIONAL PROGRAMMING IS SO HARD? reactima
 
Functional JavaScript Fundamentals
Functional JavaScript FundamentalsFunctional JavaScript Fundamentals
Functional JavaScript FundamentalsSrdjan Strbanovic
 
Functional Programming in JavaScript by Luis Atencio
Functional Programming in JavaScript by Luis AtencioFunctional Programming in JavaScript by Luis Atencio
Functional Programming in JavaScript by Luis AtencioLuis Atencio
 
Angular 2.0: Brighter future?
Angular 2.0: Brighter future?Angular 2.0: Brighter future?
Angular 2.0: Brighter future?Eugene Zharkov
 
LC2018 - Input Validation in PureScript
LC2018 - Input Validation in PureScriptLC2018 - Input Validation in PureScript
LC2018 - Input Validation in PureScriptJoe Kachmar
 
Intro to JavaScript - Week 2: Function
Intro to JavaScript - Week 2: FunctionIntro to JavaScript - Week 2: Function
Intro to JavaScript - Week 2: FunctionJeongbae Oh
 
JavaScript Functions
JavaScript FunctionsJavaScript Functions
JavaScript FunctionsColin DeCarlo
 
Functional programming and ruby in functional style
Functional programming and ruby in functional styleFunctional programming and ruby in functional style
Functional programming and ruby in functional styleNiranjan Sarade
 
C++ overloading
C++ overloadingC++ overloading
C++ overloadingsanya6900
 
2CPP03 - Object Orientation Fundamentals
2CPP03 - Object Orientation Fundamentals2CPP03 - Object Orientation Fundamentals
2CPP03 - Object Orientation FundamentalsMichael Heron
 
Introduction to Object Oriented Javascript
Introduction to Object Oriented JavascriptIntroduction to Object Oriented Javascript
Introduction to Object Oriented Javascriptnodeninjas
 
Reactive Programming with JavaScript
Reactive Programming with JavaScriptReactive Programming with JavaScript
Reactive Programming with JavaScriptCodemotion
 
Operator overloading
Operator overloadingOperator overloading
Operator overloadingArunaDevi63
 
Presentation on overloading
Presentation on overloading Presentation on overloading
Presentation on overloading Charndeep Sekhon
 

Mais procurados (20)

Client sidescripting javascript
Client sidescripting javascriptClient sidescripting javascript
Client sidescripting javascript
 
Ruby Functional Programming
Ruby Functional ProgrammingRuby Functional Programming
Ruby Functional Programming
 
Scala - core features
Scala - core featuresScala - core features
Scala - core features
 
Type conversions
Type conversionsType conversions
Type conversions
 
WHY JAVASCRIPT FUNCTIONAL PROGRAMMING IS SO HARD?
WHY JAVASCRIPT FUNCTIONAL PROGRAMMING IS SO HARD? WHY JAVASCRIPT FUNCTIONAL PROGRAMMING IS SO HARD?
WHY JAVASCRIPT FUNCTIONAL PROGRAMMING IS SO HARD?
 
Functional JavaScript Fundamentals
Functional JavaScript FundamentalsFunctional JavaScript Fundamentals
Functional JavaScript Fundamentals
 
Functional Programming in JavaScript by Luis Atencio
Functional Programming in JavaScript by Luis AtencioFunctional Programming in JavaScript by Luis Atencio
Functional Programming in JavaScript by Luis Atencio
 
Functional programming
Functional programmingFunctional programming
Functional programming
 
Angular 2.0: Brighter future?
Angular 2.0: Brighter future?Angular 2.0: Brighter future?
Angular 2.0: Brighter future?
 
LC2018 - Input Validation in PureScript
LC2018 - Input Validation in PureScriptLC2018 - Input Validation in PureScript
LC2018 - Input Validation in PureScript
 
Intro to JavaScript - Week 2: Function
Intro to JavaScript - Week 2: FunctionIntro to JavaScript - Week 2: Function
Intro to JavaScript - Week 2: Function
 
JavaScript Functions
JavaScript FunctionsJavaScript Functions
JavaScript Functions
 
Functional programming and ruby in functional style
Functional programming and ruby in functional styleFunctional programming and ruby in functional style
Functional programming and ruby in functional style
 
C++ overloading
C++ overloadingC++ overloading
C++ overloading
 
2CPP03 - Object Orientation Fundamentals
2CPP03 - Object Orientation Fundamentals2CPP03 - Object Orientation Fundamentals
2CPP03 - Object Orientation Fundamentals
 
Let's JavaScript
Let's JavaScriptLet's JavaScript
Let's JavaScript
 
Introduction to Object Oriented Javascript
Introduction to Object Oriented JavascriptIntroduction to Object Oriented Javascript
Introduction to Object Oriented Javascript
 
Reactive Programming with JavaScript
Reactive Programming with JavaScriptReactive Programming with JavaScript
Reactive Programming with JavaScript
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Presentation on overloading
Presentation on overloading Presentation on overloading
Presentation on overloading
 

Semelhante a JavaScript Operators (20)

Operators in java
Operators in javaOperators in java
Operators in java
 
Java script operators
Java script operatorsJava script operators
Java script operators
 
L3 operators
L3 operatorsL3 operators
L3 operators
 
L3 operators
L3 operatorsL3 operators
L3 operators
 
L3 operators
L3 operatorsL3 operators
L3 operators
 
C Sharp Jn (2)
C Sharp Jn (2)C Sharp Jn (2)
C Sharp Jn (2)
 
C Sharp Jn (2)
C Sharp Jn (2)C Sharp Jn (2)
C Sharp Jn (2)
 
Operators
OperatorsOperators
Operators
 
operators in c++
operators in c++operators in c++
operators in c++
 
operators in c++
operators in c++operators in c++
operators in c++
 
4_A1208223655_21789_2_2018_04. Operators.ppt
4_A1208223655_21789_2_2018_04. Operators.ppt4_A1208223655_21789_2_2018_04. Operators.ppt
4_A1208223655_21789_2_2018_04. Operators.ppt
 
OPERATORS OF C++
OPERATORS OF C++OPERATORS OF C++
OPERATORS OF C++
 
Operators
OperatorsOperators
Operators
 
C Operators
C OperatorsC Operators
C Operators
 
Unit ii chapter 1 operator and expressions in c
Unit ii chapter 1 operator and expressions in cUnit ii chapter 1 operator and expressions in c
Unit ii chapter 1 operator and expressions in c
 
Operators used in vb.net
Operators used in vb.netOperators used in vb.net
Operators used in vb.net
 
Types of Operators in C
Types of Operators in CTypes of Operators in C
Types of Operators in C
 
Operators in C Programming
Operators in C ProgrammingOperators in C Programming
Operators in C Programming
 
operator ppt.ppt
operator ppt.pptoperator ppt.ppt
operator ppt.ppt
 
Operation and expression in c++
Operation and expression in c++Operation and expression in c++
Operation and expression in c++
 

Mais de Charles Russell

JavaScript Introductin to Functions
JavaScript Introductin to FunctionsJavaScript Introductin to Functions
JavaScript Introductin to FunctionsCharles Russell
 
JavaScript Tools and Implementation
JavaScript Tools and ImplementationJavaScript Tools and Implementation
JavaScript Tools and ImplementationCharles Russell
 
JavaScript Comments and Conditionals
JavaScript Comments and ConditionalsJavaScript Comments and Conditionals
JavaScript Comments and ConditionalsCharles Russell
 
Extending drupal authentication
Extending drupal authenticationExtending drupal authentication
Extending drupal authenticationCharles Russell
 

Mais de Charles Russell (9)

Js objects
Js objectsJs objects
Js objects
 
JavaScript Introductin to Functions
JavaScript Introductin to FunctionsJavaScript Introductin to Functions
JavaScript Introductin to Functions
 
JavaScript iteration
JavaScript iterationJavaScript iteration
JavaScript iteration
 
Open Source Software
Open Source SoftwareOpen Source Software
Open Source Software
 
JavaScript Variables
JavaScript VariablesJavaScript Variables
JavaScript Variables
 
JavaScript Tools and Implementation
JavaScript Tools and ImplementationJavaScript Tools and Implementation
JavaScript Tools and Implementation
 
JavaScript Comments and Conditionals
JavaScript Comments and ConditionalsJavaScript Comments and Conditionals
JavaScript Comments and Conditionals
 
JavaScript Introduction
JavaScript IntroductionJavaScript Introduction
JavaScript Introduction
 
Extending drupal authentication
Extending drupal authenticationExtending drupal authentication
Extending drupal authentication
 

Último

一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoilmeghakumariji156
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理F
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsMonica Sydney
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsMonica Sydney
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiMonica Sydney
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查ydyuyu
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasDigicorns Technologies
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsMonica Sydney
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Balliameghakumariji156
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsPriya Reddy
 

Último (20)

一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 

JavaScript Operators

  • 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. 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. 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. 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. 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. 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. 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. 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. Multiplication ● * ● Binary operator ● Returns NaN if an operand is a non numeric string
  • 11. Division ● / ● Binary operator ● Behaves in a simular fashion to Multiplication
  • 12. Modulus ● % ● Binary operator ● Does integer divsion and returns the remainder ● Again type conversion is attempted
  • 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. The Rest of the Assignment Family ● +=, -=, *=, %= ● These operators do a calculation and assign the value simutaneously ● Example ● A=5; A+=3 – Result 8
  • 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 >=
  • 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. 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. 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. Not ! ● Reverses a Boolean value
  • 22. Bit opeations ● & bitwise and ● | bitwise or ● ^ bitwise xor ● ~ bitwise not ● << shift left ● >> shift right ● >>> shift right zero fill
  • 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. 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. Grouping ● () ● Groups expressions that need to be evaluated first
  • 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. Operator Precedence [] () ++ -- - ~ ! * / % + - + << >> >>> < <= > >= == != === !== & ^ | && || ? : = += -= *= ...