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
console.log(1+1);//add
console.log(1-1);//substract
console.log(1/1);//divide
console.log(1*1);//multiply
console.log(5% 2);//reminder → 1
console.log(2**3);//exponentiation → 8
3. Increment and decrement operators
let counter = 2;
const preIncrement = ++counter;
: 먼저 더하고 변수에 넘김
const postIncrement = counter++;
: 변수에 넘기고나서 1 더함
4. Assignment operators
let x = 3;
let y = 6;
x += y;
x -= y;
x *= y;
x /= y;
5. Comparison operators
console.log(10<6);//less than...
6. Logical operators: || (or), && (and), ! (not)
const value1 = true;
const value2 = 4<2;
function check(){
for(let i = 0; i < 10; i++){
console.log('uu');
}
return true;
}
*|| (or), finds the fist truthy value
console.log(`or: ${value1 || value2 || check()}`);
→true
★tip! 무거운 operation일 수록 뒤에 두기!여기선 check() 함수!
*&& (and), finds the first falsy value
console.log(`and: ${value1 && value2 && check()}`);
→false
*! (not)
console.log(!value1);
7. Equality
const stringFive = '5';
const numberFive = 5;
*== loose equality, with type conversion
(타입신경안씀)
console.log(stringFive == numberFive); → true
console.log(stringFive != numberFive); → false
*=== string quality, no type conversion
(타입까지 신경씀)
console.log(stringFive === numberFive); → false
console.log(stringFive !== nuberFive); → true
tip! 코딩 시 === 사용이 좋음
※ object equality by reference
const ellie1 = { name: 'ellie' };
const ellie2 = { name: 'ellie' };
const ellie3 = ellie1;
console.log(ellie1 == ellie2);
→ false, reference가 달라서
console.log(ellie2 === ellie2); → false
console.log(ellie1 === ellie3); → true
console.log(0 == false); → true
console.log(0 === false); → false(0은 boolean 아님)
console.log('') == false); → true
console.log('') === false); → false
console.log(null == undefined); → true
console.log(null === undefined); → false
8. Conditional operators: if
if, else if, else
const name = 'df';
if(name === 'ellie') {
console.log('Welcome, Ellie!');
} else if (name === 'coder') {
console.log('You are amazing coder');
} else {
console.log('unknown');
}
=> unknown
9. Ternary operator: ?
condition ? value1 : value2;
console.log( name === 'ellie' ? 'yes' : 'no');
=>간단할 때만 사용하기
10. Switch statement
- use for multiple if checks
- use for enum-like value check
- use 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 you!');
break;
default :
console.log('same all!');
break;
}
11. Loops
while loop, while the condition is truthy,
body code is executed.
let i = 3;
while( i > 0 ) {
console.log(`while: ${i}`);
i--;
}
→ while: 3
while: 2
while: 1
-----------------------------------------------------------------
do while loop, body code is executed first,
then check the condition
do{
console.log(`do while: ${i}`);
i--;
} while ( i > 0 );
-----------------------------------------------------------------
for loop, for(begin; condition; step)
for ( i = 3; i > 0; i--) {
console.log(`for: ${i}`);
}
for(let i = 3; i > 0; i = i - 2) {
//inline variable declaration, 지역변수 선언
console.log(`inline variable for: ${i}`);
}
//nested(둥지) loopss
for(let i = 0; i < 10; i++) {
for(let j = 0; j < 10; j++) {
console.log(`i: ${i}, j:${j}`);
}
}
tip: 빅오가 n의 2제곱이므로 cpu에 좋지 않으니 되도록 피하는게 좋음
//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}`);
}
'JavaScript > 엘리 JavaScript note' 카테고리의 다른 글
| Part 8 <Array 개념과 APIs> (0) | 2021.12.26 |
|---|---|
| Part 7 <Object> (0) | 2021.12.26 |
| Part 6 <Class vs Object> (0) | 2021.12.26 |
| Part 5 <Functions 함수> (0) | 2021.12.26 |
| Part3 <데이터 타입> (0) | 2021.12.25 |