드림코딩 자바스크립트 연산, if, loop 강의 노트
// 1. String concatenation
console.log('my'+'cat');
console.log('1'+2);
console.log(`string literals: 1 + 2 = ${1+2}`); // 줄바꿈, 특수 기호 등 적용 가능
console.log("Leo\'s \n\t book") // 줄바꿈 \n, 탭키 \t
/// 2. Numeric operators
console.log(5 % 2) // 나머지
console.log(2 ** 3) // 제곱
// 3. Increment ++ & Decrement --
let counter = 2;
const preIncrement = ++counter; // counter = counter + 1 >>>> preIncrement = counter
console.log(`preIncrement: ${preIncrement}, counter: ${counter}`);
const postIncrement = counter++; // counter = counter + 1 >>>> preIncrement = counter
console.log(`postIncrement: ${postIncrement}, counter: ${counter}`);
// 4. Assignment operators
let x = 3;
let y = 6;
x += y // x = x + y
x -= y
x %= y
x *= y
// 5. Comparison operators
// 6. Logical operators : || (or), && (and), ! (not)
const value1 = false;
const value2 = 4 < 2;
console.log(`or: ${value1 || value2 || check()}`); // 처음으로 true가 나오는 곳에서 멈추기 때문에 앞단에 핀포인트 필터 설정이 권장됨 - 함수를 가장 끝에 두기
function check(){
for (let i = 0; i<10; i++){
console.log(`Noooo!`);
}
return true
}
console.log(`and: ${value1 && value2 && check()}`);
// && is often used to compress long if-statement
// nullabelObeject && nullableObject.something
// if(nullabelObeject != null){
// nullableObject.something;
// }
// 7. Equality
// == loose equality : with type conversion
// === strict equality : no type conversion
// object 에서 주의
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); // ture
8. Conditional operators : if
if, else if, else
const name = 'don';
if(name === 'ellie'){
console.log('Welcom Ellie!');
} else if (name === 'coder') {
console.log('Welcom Coder!');
} else {
console.log('who are you')
};
9 Ternary operator: ? - 간단한 경우에 활용 권장 / 복잡한 건은 switch 활용 가능
condition ? value1 : value2;
console.log(name ==='don' ? 'yes' : 'no'); // 앞의 조건문이 true일 경우 'yes'를, 아닐 경우 'no'를 실행
10. Switch statement - if문에서 else if를 반복하는 경우 좋음
use for multiple if checks
use for enum-like value checks
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("Thanks");
break;
default:
console.log("Same all");
break;
}
11. Loops
1) While - ()안의 Status가 false 될 때까지
1) While - ()안의 Status가 false 될 때까지
let i = 3;
while ( i > 0 ) {
console.log(`while: ${i}`);
i--;
}
do ~ while은 block scope 우선 실행
do {
console.log(`do while: ${i}`);
i--;
} while (i>0);
2) for - (begin ; condition ; step)
for ( let p = 3; p>0 ; p--){
inline variable declaration 블락 안에 지역 변수 선언하여 활용 가능
console.log(`inline variable for: ${p}`);
}
3) nested loop - O(n2)
for (q = 3; q > 0 ; q--){
for (j = 3; j > 0 ; j--){
console.log(`${q}, ${j}`);
}
}
* continue Quiz
for(let k = 0; k<11; k++ ){
if(k%2 !== 0){
continue
}
console.log(k)
}
* break Quiz
for(let k = 0; k<11; k++ ){
if(k == 8){
break
}
console.log(k)
}
'Programming Language > Javascript' 카테고리의 다른 글
[강의노트][드림코딩] 배열 Array (1) | 2022.09.20 |
---|---|
[강의노트][드림코딩] Object 심화 (0) | 2022.09.19 |
[강의노트][드림코딩] Class & Object (0) | 2022.09.18 |
[강의노트][드림코딩] 함수 (0) | 2022.09.17 |
[강의노트][드림코딩] 데이터 타입 (0) | 2022.09.15 |