4. Operator, if, for loop

JavaScript에서 대부분의 object는 mutable(값을 변경할 수 있는)이다.

1. String concatenation

console.log('my' + ' cat'); //my cat
console.log('1' + 2); //12
console.log("yuna\'s\tbook\nfirst");

//yuna's book
first

  1. numeric operator
  • : add

- : subtract

/ : divide

  • : multiply

% : remainder

** : exponentiation

  1. increment and decrement operators
    preincrement: ++counter
    postincrement: counter++
    predecrement: --counter
    postdecrement: counter--

  2. assignment operators

    +=
    -=
    *=
    /=

  3. comparison operators
    <
    <=: less than or equal

    =: greater than or equal

  4. logical operators: ||, &&, !

||(or): 하나라도 true면 true

(처음에 하나라도 true가 나오면 거기서 연산이 멈춘다!)

따라서 모든 값이 false일 때 마지못해 맨 마지막 값을 호출하므로,
아래처럼 heavy한 연산이 들어간 값을 맨 뒤에 놓는 것이 이상적이다.

&&(and): 모두 true여야 true 리턴

(처음에 하나라도 false가 나오면 이미 끝났으므로 연산이 멈춘다!)

and도 heavy한 연산이 들어간 값을 맨 뒤에 놓는 것이 좋다.

**&&(and)는 간편하게 null check할 때 쓰인다.
첫 값이 null(false)이면 거기서 연산이 멈추기 때문에!
즉 첫 값이 null(false)이 아닐 경우만 마지막 값을 받아오게 되기 때문이다.

  1. ! => 값을 반대로 바꿔준다.
    const value1 = true;
    !value1; // false;

  2. equality operators
    ==: loose equality, with type conversion
    '5' == 5 // true

===: strict equality, no type conversion

값이 같아도 서로 다른 레퍼런스(주소)를 갖고 있기 때문에,

==나 ===로 비교시 false가 나온다.

ex)
const obj1 = { name : 'yuna' };
const obj2 = { name : 'yuna' };
const obj3 = obj1

obj1 == obj2; // false
obj1 === obj2; // false

obj1 == obj3; // true (복사된 값이므로 동일한 레퍼런스 가짐)
obj1 === obj3; // true (복사된 값이므로 동일한 값 가짐)

특이하게도 null == undefined는 true

  1. If operators

  2. ternary operator: ?
    condition? value1 : value2;
    간단할 때만 쓰는 게 좋다. 복잡해질 때는 if나 switch를 쓰자.

  3. switch (browser) {
    case 'IE':
    ~
    break;
    case 'chrome':
    ~
    break;
    default:
    ~
    break;
    }

  4. loops
    while / do while /
    for(begin(1); condition(2); step(4)) {(3)}

for (let i = 3; ; ) {} <= inline variable declaration

15.

break: loop을 완전히 끝내는 것

continue: 지금 것만 스킵하고 다음 스텝으로 넘어가는 것

좋은 웹페이지 즐겨찾기