개발공부/Javascript
4. 코딩의 기본 operator, if, for loop 코드리뷰 팁
MyAlice
2021. 4. 27. 14:25
728x90
** 이 글은 유튜브 강의을 보고 공부하면서 스스로 콘솔로 작성하고, 따라치면서 Javascript 기초 공부를 하는 공간입니다.
www.youtube.com/watch?v=YBjufjBaxHo&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=4
```jsx
//1. String concatenation
console.log('my'+'cat'); //mycat
console.log('1'+2); //1,2
console.log('string literals : 1 + 2 = ${1 + 2}'); //string literals : 1 + 2 = 3
//2. Numeric operators
console.log(1 + 1); //2
console.log(1 - 1); //0
console.log(1 / 1); //1
console.log(1 * 1); //1
console.log(5 % 2); //1
console.log(2 ** 3); //8
//3. Increment and Decrement operators
let counter = 2;
const preIncrement = ++counter; //3
const preIncrement = counter++; //3
//4. Assignment operators
let x = 3;
let y = 6;
x += y; // x = x + y;
x -= y;
x *= y;
x /= y;
//5. Comparison operators
console.log(10 < 6); //false
console.log( 10 <= 6);//false
console.log(10 > 6);//true
console.log(10 >= 6);//true
//Logical operators : || (or), && (and), ! (not)
const value1 = false;
const value2 = 4 < 2; //false
// || (or), finds the first truthy value
console.log('or : ${value1 || value2 || check()}');
// case 1 :
const value1 = false;
const value2 = 4 < 2; //false
console.log('or : ${value1 || value2 || check()}');
//( wasting time * 10 번 한뒤에, or:true ) 로 나옴
// case 2 :
const value1 = true;
const value2 = 4 < 2; //false
console.log('or : ${value1 || value2 || check()}');
//( or:true ) 로 나옴 이유 : 하나라도 true 가 된다면, check() 을 실행 안 시킴 그래서 무거운 것일수록 뒤에다가 놔두기!!!!!
// && (and), finds the first truthy value
console.log('or : ${value1 && value2 && check()}');
// 무거운 operation 일수록 뒤로 가서 실행 시키기 (마찬가지) / 앞에가 false 가 되면 어차피 false 이므로 뒤에것은 실행안시킴
function check() {
for (let i =0; i < 10; i++){
//wasting time
console.log("wasting time");
}
return true;
}
// ! (not)
console.log(!value1); // true -> false
// 7. Equality
const stringFive = '5';
const numberFive = 5;
// == loose equality, with type conversion
console.log(stringFive == numberFive); // true
console.log(stringFive != numberFive); // false
// === string equality, with no type conversion
console.log(stringFive === numberFive); // false
console.log(stringFive !== numberFive); // true
//object eqality by reference
const ellie1 = { name: 'ellie'};
const ellie2 = { name: 'ellie'};
const ellie3 = ellie1;
**//reference 로 비교한다**
console.log(ellie1 == ellie2); // 각각 다른 refernce 라서 false
console.log(ellie1 === ellie2); // false
console.log(ellie1 === ellie3); // true
//Test Time!
console.log(0 == false);
console.log(0 === false);
console.log('' == false);
console.log('' === false);
console.log(null == undefined);
console.log(null === undefined);
//true
//false
//true
//false
//true
//false
// 8. Conditional operators: if
// if, else if, else
const name = 'coder';
if(name === 'ellie') {
console.log('welcome, Ellie!');
}else if (name == 'coder') {
console.log('You are amazing coder');
}else {
console.log('unknown');
}
//9. Ternary operator : ?
// condition ? value1 : value2;
console.log(name == 'ellie' ? 'yes' : 'no');
// name = 'ellie' 라고 출력시 yes
// 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 excuted first,
//then check the condition.
do {
console.log('do while : ${i}');
i--;
}while (i > 0);
// do while : 0
//for loop, for(begin; condition; step)
for(i = 3; i > 0 ; i--) {
console.log('for : ${i}');
}
//for:3
//for:2
//for:1
for(let i = 3; i >0 ; i = i -2){
console.log('for : ${i}');
}
//nested loops
for(let i = 0; i < 10 ; i++ ){
for(let j =0 ; j <10 ; j ++){
console.log('i: ${i}, j: ${j}');
}
}
```
728x90