Od zera do JavaScript developera #1

Michal Staskiewicz

https://miksturait.slack.com/

http://bit.ly/miksturait

What exactly is programming?

Why should we care about JavaScript?

Web Frontend + Backend

IoT

Native mobile apps

Desktop apps

What we will learn on course?

Agenda

  1. Values, Types, and Operators
  2. Data Structures - Objects and Arrays
  3. Higher-order Functions
  4. Objects &  first project
  5. Bugs, Errors & Regular Expression
  6. Modules & Asynchronous Programming
  7. Project - A Programming Language (review)
  8. ​Exercises - katas

https://eloquentjavascript.net

The Console

Simple data types in JS

Number - 3,  2.1, 3.123e7

String - "hello world"

Boolean - true, false

Undefined

Number

2 - simple number

16.2 - floating-point number

10e1 - scientific notation number == (100)

Arithmetic

+

-

/

*

%

Operators:

10 * 10

100/2

11 % 10

2 + 2

Special Numbers

Infinity

-Infinity

NaN

Strings

`Down on the sea`
"Lie on the ocean"
'Float on the ocean'

" "

` `

' '

Newlines

"This is the first line\nAnd this is the second"

\n

Concatenate

'od' + 'zera' + 'do' + 'javascript' + 'developera' + '#1'

`some sting example with interpolation ${10 * 10}`

typeof operator

typeof "hello"
// "string"

typeof 10
// "number"

typeof {}
// "object"

typeof true
// "boolean"

typeof undefined
// "undefined"

Comparison operators

<

  >

 <=

 >=

== 

!=

 ===

  !==

Logical operators

&& - and

|| - or

! - not

:? -  ternary operator

Variables

let number = 10;

var number = 10;

const number = 10;

Built in functions

console.log()

console.table()

console.error()

console.warn()

prompt()

alert()

Control Flow

Top to bottom

let theNumber = Number(prompt("Pick a number"));
console.log("Your number is the square root of " +
            theNumber * theNumber);

if

else

else if

switch

Conditionals - if

let theNumber = Number(prompt("Pick a number"));
if (!Number.isNaN(theNumber)) {
  console.log("Your number is the square root of " +
              theNumber * theNumber);
}
let theNumber = Number(prompt("Pick a number"));
if (!Number.isNaN(theNumber)) {
  console.log("Your number is the square root of " +
              theNumber * theNumber);
} else {
  console.log("Hey. Why didn't you give me a number?");
}

else

else if

let num = Number(prompt("Pick a number"));

if (num < 10) {
  console.log("Small");
} else if (num < 100) {
  console.log("Medium");
} else {
  console.log("Large");
}

nested else if 

if (x == "value1") action1();
else if (x == "value2") action2();
else if (x == "value3") action3();
else defaultAction();

Switch

switch (prompt("What is the weather like?")) {
  case "rainy":
    console.log("Remember to bring an umbrella.");
    break;
  case "sunny":
    console.log("Dress lightly.");
  case "cloudy":
    console.log("Go outside.");
    break;
  default:
    console.log("Unknown weather type!");
    break;
}

Loops

while

let number = 0;
while (number <= 12) {
  console.log(number);
  number = number + 2;
}
// → 0
// → 2
//   … etcetera

do while

let yourName;
do {
  yourName = prompt("Who are you?");
} while (!yourName);
console.log(yourName);

for

let result = 1;
for (let counter = 0; counter < 10; counter = counter + 1) {
  result = result * 2;
}
console.log(result);

for with break

for (let current = 20; ; current = current + 1) {
  if (current % 7 == 0) {
    console.log(current);
    break;
  }
}
// → 21

shorthand syntax

value = value + 1

value++

Exercises

Homework

Thanks! =>

Made with Slides.com