language/javascript

operator, if, for loop

1. String concatenation

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

 

2. Numeric operators

+, -, /, *, %, **

 

3. Increment and decrement operators

let counter = 2;

const preIncrement = ++counter;
// counter = counter + 1;
// preIncrement = counter;

const postIncrement = counter++;
// postIncrement = counter;
// counter = counter + 1;

4. Assignment operators

+=, -=, *=, /=

 

5. Comparison operators

<, <=, >, >=

 

6. Logical operators

  • || (or)
    • 처음으로 true가 나오면 뒤의 값과 상관없이 바로 stop
    • simple한 연산을 제일 앞에 두고, 연산을 많이 하는 함수 호출이나 expression은 제일 뒤에 배치
  • && (and)
    • 처음으로 false가 나오면 뒤의 값과 상관없이 바로 stop
    • heavy한 연산일수록 가장 뒤에서 check하는 것이 좋다
    • null check 등에서도 많이 사용한다
  • ! (not)
    • 값을 반대로 바꿔준다
    • ex) 결과가 true면 false로 바꿔서 출력

 

7. Equality

const stringFive = '5';
const numberFive = 5;

// == loose equality, with type conversion
// type 변경해서 검사한다
console.log(stringFive == numberFive); // true
console.log(stringFive != numberFive); // false

// === strict equality, no type conversion
// type을 신경써서, type이 다르면 false
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
// ellie1과 ellie2는 같은 data가 들어있는 object지만, 
// 실제 메모리에는 1과 2에 각각 다른 reference가 들어있고, 서로 다른 object를 가리키고 있다.
console.log(ellie1 === ellie2); // false
console.log(ellie1 === ellie3); // true

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

 

9. Ternary operator: ?

condition ? value1 : value2;

 

 

참고

youtube 드림코딩 by 엘리
https://www.youtube.com/watch?v=YBjufjBaxHo&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=4

'language > javascript' 카테고리의 다른 글

Object  (0) 2021.11.25
클래스와 오브젝트의 차이점  (0) 2021.11.25
Function  (0) 2021.11.25
data types, let vs var, hoisting  (0) 2021.11.25
async와 defer  (0) 2021.11.25