본문 바로가기
Computer Language 🗣/JavaScript

[Javascript] 자바스크립트 연산, 반복문

by 돼지고기맛있다 2021. 8. 10.
반응형

1. Numeric Operators

console.log(1 + 1); //add
console.log(1 - 1); //subtract
console.log(1 / 1); //divide
console.log(1 * 1); //multifly
console.log(5 % 2); //remainder
console.log(2 ** 3); //exponentiation -> 2의 3승

 

2. Increment and Decrement Operators

  • PreIncrement
let counter = 2;
const preIncrement = ++counter;
//same as
//counter = counter + 1;
//preIncrement = counter;
console.log(`preIncrement: ${preIncrement}, counter: ${counter}`);
  • PostIncrement
const postIncrement = counter++;
//same as
//postIncrement = counter;
//counter = counter + 1;
console.log(`postIncrement: ${preIncrement}, counter: ${counter}`);
const preDecrement = --counter;
console.log(`preDecrement: ${preDecrement}, counter: ${counter}`);
const postDecrement = counter--;
console.log(`postDecrement: ${postDecrement}, counter: ${counter}`);

 

3. Assignment Operators

let x = 3;
let y = 6;
x += y; ///x = x + y
x -= y;
x *= y;
x /= y;

 

4. Comparison Operators

console.log(10 < 6);
console.log(10 <= 6);
console.log(10 > 6);
console.log(10 >= 6);

 

5. Logical Operators

function check() {
  for (let i = 0; i < 10; i++) {
    //wastng time
    console.log("😼");
  }
  return true;
  console.log(`and: ${value1 && value2 && check()}`);
}

const value1 = false;
const value2 = 4 < 2;

 

OR (||)

finds the first truthy value

or 연산을 수행할 때, JS는 앞에서 부터 확인하면서 true인 아이가 있다면 바로 true를 리턴해버린다,그렇기 때문에 왼쪽에 있을 수록 가볍고, 오른쪽에 둘 수록 무거운 친구들을 두는 것이 좋음!

 

console.log(`or: ${value1 || value2 || check()}`);

 

AND (&&)

finds the first falsy value

console.log(`and: ${value1 && value2 && check()}`);

 

NOT (!)

console.log(!value1);

 

6. Equality

const stringFive = "5";
const numberFive = 5;

 

== Loose Equality, with type conversion

console.log(stringFive == numberFive); //true
console.log(stringFive != numberFive); //false

 

=== strict equality, no type conversion

console.log(stringFive === numberFive); //false
console.log(stringFive !== numberFive); //true

 

Object Equality by reference

sieun1 and sieun2 are having different ref value

but sieun3 is pointing at same ref as sieun1

const sieun1 = { name: "sieun" };
const sieun2 = { name: "sieun" };
const sieun3 = sieun1;

console.log(sieun1 == sieun2); //false
console.log(sieun1 === sieun2); //false
console.log(sieun1 === sieun3); //true

 

7. Equality Puzzler

//0은 false로 간주되지만, 타입은 boolean type 이 아니다.
console.log(0 == false); //t
console.log(0 === false); //f
console.log("" == false); //t
console.log("" === false); //f
console.log(null == undefined); //t
console.log(null === undefined); //f

 

If, Else if, Else

const name = "sieun";

if (name == "sieun") {
  console.log("Welcome Sieun!");
} else if (name === "coder") {
  console.log("You are an amazing Coder");
} else {
  console.log("unknown");
}

 

8. Ternary Operator: ?

condition? Value1: value2;

console.log(name === "sieun" ? "yes" : "no");

 

9. Switch Statement

for multiple checks, for enum-like value check, for multiple type checks in TS

const browser = "IE";
switch (browser) {
  case "IE":
    console.log("Go Away");
    break;
  case "Chrome":
  case "FireFox":
    console.log("Love Ya");
    break;
  default:
    console.log("Same All!");
    break;
}

 

10. Loops

While Loop

while the condition is truthy,body code is executed.

let i = 3;
while (i > 0) {
  console.log(`while: ${i}`);
  i--;
}

 

Do While Loop

body code is executed first,then check the condition

do {
  console.log(`do while: ${i}`);
  i--;
} while (i > 0);

for (i = 3; i > 0; i++) {
  console.log(`for: ${i}`);
}

 

Inline variable Declaration

for (**let i = 3**; i > 0; i = i - 2) {
  console.log(`inline variable for : ${i}`);
}

 

Nested Loops :O(n^2)

for (let i = 0; i < 10; i++) {
  for (let j = 0; j < 10; j++) {
    console.log(`i;${i}, j:${j}`);
  }
}

 

 

👍 해당 포스트는 드림코딩 엘리의 유투브 강의를 보고 정리한 내용입니다.

반응형

댓글