ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3. operator, if, for loop
    JavaScript & TypeScript 2020. 11. 13. 17:40

    1. String concatenation

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

     

     

    2. Numeric operators

    console.log(1 + 1); // add : 2
    console.log(1 - 1); // substract : 0
    console.log(1 / 1); // divide : 1
    console.log(1 * 1); // multiply : 1
    console.log(5 % 2); // remainder : 1
    console.log(2 ** 3); // exponentiation : 8

     

     

    3. Increment and decrement operators

    let counter = 2;
    const preIncrement = ++counter; // 3, 3
    const postIncrement = counter++; // 3, 4
    const preDecrement = --counter; // 3, 3
    const postDecrement = counter--; // 3, 2 

     

     

    4. Assingment operators

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

     

     

    5. Comparison operators

    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

     

     

    6. Logical operators : || (or), && (and), ! (not)

    const value1 = true;
    const value2 = 4 < 2;
    
    // || (or), finds the first truthy value
    console.log(`or: ${value1 || value2 || check()}`); // true
    
    // && (and), finds the first fals value
    console.log(`and: ${value1 && value2 && check()}`); // false
    
    // often used to compress long if-statement
    // nullableObject && nullableObject.something
    if (nullableObject != null) {
    	nullableObject.something;
    }
    
    function check() {
    	for (let i = 0; i < 10; i++) {
    		// wasting time
    		console.log('kingsubin');
    	}
    }
    
    // ! (not)
    console.log(!value1); // false

     

     

    7. 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
    const ellie1 = { name: 'ellie' };
    const ellie2 = { name: 'ellie' };
    const ellie3 = ellie1;
    console.log(ellie1 == ellie2); // false
    console.log(ellie1 === ellie2); // false
    console.log(ellie1 === ellie3); // true
    
    // equality - 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

     

     

    8. Conditional operators : if, else if, else

    const name = 'ellie';
    if (name === 'ellie') {
    	console.log('Welcome, Ellie!');
    } else if (name === 'coder') {
    	console.log('You are amazing coder');
    } else {
    	console.log('unkwnon');
    } // Welcome, Ellie!

     

     

    9. Ternary operator : ?

    console.log(name === 'ellie' ? 'yes' : 'no');

     

     

    10. Switch statement

    // use for multiple if checks
    // use for enum-like value check
    // use for muliple type checks in TS
    const browser = 'IE';
    switch (browser) {
    	case 'IE' :
    		console.log('go away');
    		break;
    	case 'Chrome' :
    	case 'Firefox' :
    		console.log('love u');
    		break;
    	default:
    		console.log('same all');
    		break;
    } // go away

     

     

    11. Loops

    // while loop, while the condition is truthy,
    // body code is executed.
    let i = 3;
    while (i > 0) {
    	console.log(`while: ${i}`);
    	i--;
    } // 3 2 1
    
    // do while loop, body code is executed first,
    // then check the condition.
    do {
    	console.log(`do while: ${i}`);
    	i--;
    } while (i > 0); // 0
    
    // for loop, for (begin; condition; step)
    for (i = 3; i > 0; i--) {
    	console.log(`for: ${i}`);
    } // 3 2 1 
    
    for (let i = 3; i > 0; i = i - 2) {
    	// inline variable declaration
    	console.log(`inline variable for: ${i}`);
    } // 3 1
    
    // nested loops
    for (let i = 0; i < 10; i++) {
    	for (let j = 0; j < 10; j++) {
    		console.log(`i: ${i}, j: ${j}`);
    	}
    }
    
    // break, continue
    // Q1. iterate from 0 to 10 and print only even numbers (use continue)
    for (let i = 0; i < 11; i++) {
    	if (i % 2 !== 0) {
    		continue;
    	}
    	console.log(`q1. ${i}`);
    }
    
    // Q2. iterate from 0 to 10 and print numbers until reaching 8 (use break)
    for (let i = 0; i < 11; i++) {
    	if (i > 8) {
    		break;
    	}
    	console.log(`q2. ${i}`);
    }

     

     

     

     

     

     


    ※출처

    www.youtube.com/channel/UC_4u-bXaba7yrRz_6x6kb_w

    'JavaScript & TypeScript' 카테고리의 다른 글

    6. what is object  (0) 2020.11.14
    5. class vs object  (0) 2020.11.14
    4. Arrow Function  (0) 2020.11.13
    2. data types, let vs var, hoisting  (0) 2020.11.13
    1. script async vs defer  (0) 2020.11.13
킹수빈닷컴