Javascript operator, if, for loop

feelslikemmmm·2020년 7월 20일
0

javascript

목록 보기
4/37
post-thumbnail

Operator

► String concatenation

<script>
  console.log('my' + 'cat');
  console.log('1' + 2);
  console.log(`string literals: 1 + 2 = ${1 + 2}`);
</script>

► Numeric operators

<script>
    console.log(1 + 1); // add
    console.log(1 - 1); // substract
    console.log(1 / 1); // divide
    console.log(1 * 1); // multiply
    console.log(5 % 2); // remainder
    console.log(2 ** 3); // exponentiation
</script>

► Increment and decrement operators

<script>
    let conter = 2;
    const preIncrement = ++conter;

    //conter = conter + 1;
    //preIncrement =  codunt;

    const postIncrement = conter++;
    //postIncrement = counter;
    //counter = counter = counter + 1;
 </script>

► Assignment operators

<script>
  let x = 3;
  let y = 6;
   x += y; // x = x + y;
   x -= y;
   x *= y;
   x /= y;
</script>

► Comparison operators

<script>
   console.log(10 < 6) //less than
   console.log(10 <= 6) //less than or equal
   console.log(10 > 6) //greater than
   console.log(10 >= 6) //greater than or equal
</script>

► logical operators: ||(or), && (and), ! (not)

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

    //|| (or), or연산자는 처음에 true가 나오면 멈춘다! value1이 false가 아니라 true라면
    //마지막 check라는 함수(true값)은 실행이 안된다.
    console.log(`or: ${value1 || value2 || check()}`);
    //&&(and), and연산자는 3개가 모두 트루가 되어야 true를 리턴하게된다
    console.log(`or: ${value1 && value2 && check()}`);
    
    function check(){
        for (let i = 0; i < 10; i++){
            //wasting time
            console.log('HI');
        }
        return true;
    }

    //! (not) 값을 반대로 바꿔준다 value1은 false인데 !를 쓰게되면 true가 된다
    console.log(!value1);
 </script>

► Equality

<script>
    const stringFive = '5';
    const numberFive = 5;

    // == loose equality, with type conversion
    console.log(stringFive == numberFive); //true
    console.log(stringFive != numberFive); // false

    // === strict equlity, no type conversion
    console.log(stringFive === numberFive); // flase
    console.log(stringFive !== numberFive); // true

    // object equality by reference

    const nakwon1 = { name : 'nakwon'};
    const nakwon2 = { name : 'nakwon'};
    const nakwon3 = nakwon1;

    console.log(nawon1 == nakwon2); //false
    console.log(nawon1 === nakwon2); // false
    console.log(nawon1 === nakwon3); // true
    
    //equlity - puzzler
    
    console.log(0 == false); //true
    console.log(0 === false); // false
    console.log('' == false); // true
    console.log('' === false); // false
    console.log(null == undefined); // true
    console.log(null === undefined); // false
</script>

► Conditional operators: if

if, else if , else

<script>
    //8. Conditional operators: if
    // if , else if , else
    const name = 'nakwon';
    if(name === 'nakwon'){
        console.log('hello, nakwon!');
    } else if (name === 'coder'){
        console.log('You are amazing coder');
    } else{
        console.log('unkwon');
    }
</script>

► Ternary operator : ?

condition ? value1 : value2;
짧은 경우에만 쓰는것이 좋고 길다면 if나 switch문을 쓰는게 좋다

<script>
  console.log(name === 'nakwon' ? 'yes' : 'no');
</script>

► Switch statement

if에서 else if가 많이 반복된다면 switch문 사용을 고려하는것이 좋다.
나중에 type script에서 정해져있는 타입을 검사하거나 할떄는 Switch를 쓰는것이 가독성이 좋다.
<script>
    const browser = 'IE';
    switch(browser) {
        case 'IE':
        console.log('go away!');
        break;

        case 'Chrome':
        console.log('love you!');
        break;

        default:
        console.log('go away!');
        break;
    }
    </script>

► Loops

► while loop

statement가 false로 나오기 전까지는 무한대로 계속 도는것을 말한다.

<script>

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

► do while loop

먼저 블럭을 실행한 다음에 조건이 맞는지 안맞는지 검사를 한다.

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

► for loop, for(begin; condition; step)

<script>
    for (i = 3; i > 0; i--){
        console.log(`for:${i}`);
    }
    
      for (i = 3; i > 0; i--){
        //inline variable declaration
        console.log(`inline variable for: ${i}`);
    }
    
    //nested loops
    for(let i = 0; i < 10; i ++){
        for(let j = 0; j < 10; j++){
            console.log(`i:${i}, j:${j}`);
        }
    }
</script>

break , continue

► continue를 활용하여 0부터 10까지의 숫자를 짝수인 아이들만 출력해보자.

<script>
    for(let i = 0; i < 11; i++){
        if(i % 2 !== 0){
            continue;
        }
        console.log(`Q1. ${i}`);
    }
</script>

► 0부터 10까지를 looping 하는것을 작성하되 숫자 8을 만나면 그만하는 것을 작성해보자

<script>
    for(let i = 0; i < 11; i ++){
        if(i > 8){
            break;
        }
        console.log(`Q2. ${i}`);
    }
<script>
profile
꾸준함을 잃지 말자는 모토를 가지고 개발하고 있습니다 :)

0개의 댓글