(출처 유튜브 드림코딩 자바스크립트 강의)
console.log("my" + "cat");
console.log("1" + 2);
console.log(`string literals`);
console.log(1 + 1);
console.log(1 - 1);
console.log(2 / 5);
console.log(5 % 2);
console.log(2 ** 3);
-> --도 가능함
let counter = 2;
const preIncrement = ++counter;
// counter = counter + 1;
// preIncrement = counter;
console.log(`preIncrement: ${preIncrement}, counter: ${counter}`);
// preIncrement: 3, counter: 3
const postIncrement = counter++;
// postIncrement = counter;
// counter = counter + 1;
console.log(`preIncrement: ${preIncrement}, counter: ${counter}`);
// preIncrement: 3, counter: 4
-> 단순히 연산자만 생각하지 말고 ||은 true가 나오면 멈추고
-> && 연산자는 false가 나오면 멈추기 때문에 어떤 조건식에서 최대한 해당 조건이 빠르게 마무리 될수 있게 코드 짜는게 좋음.
let x = 3;
let y = 6;
x += y; // x = x + y;
x -= y; // x = x - y;
x *= y; // x = x * y;
x /= y; // x = x / y;
// || (or) 연산자는 처음으로 true가 나오면 거기서 멈춤.
// && (and) 연산자는 처음으로 false가 나오면 거기서 멈춤.
// 위 둘다 해당 조건 아니면 넘어가게 하는 코드 작성 할 때 간단한 코드가 먼저 오는게 좋음
-> == 와 ===의 차이는 타입을 무시하고 볼것인지 (==),
-> 아니면 타입도 같이 볼것인지 (===)
const stringFive = "5";
const numberFive = 5;
// == loose equality, with type conversion
console.log(stringFive == numberFive); //true
console.log(stringFive != numberFive); //false
// === strict equality, no type conversion
console.log(stringFive === numberFive); //false
console.log(stringFive !== numberFive); //true
// object equality by reference
const kim1 = { name: "kim" };
const kim2 = { name: "kim" };
const kim3 = kim1;
console.log(kim1 == kim2); //false
console.log(kim1 === kim2); //false
console.log(kim1 === kim3); //true
// equality = puzzler
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
// Ternary operator : ?
// condition ? value1 : value2;
// 간단한 조건문에서 씀.
console.log(name === "kim" ? "yes" : "no");
// 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;
}
// while loop, while the condition is truthy,
// body code is executed.
let i = 3;
while (i > 0) {
//해당 부분이 false가 되면 멈춤
console.log(`while: ${i}`);
i--;
}
// do while loop, body code is executed first,
// then check the condition.
do {
console.log(`do while: ${i}`);
i--;
} while (i > 0);
// do 블럭 먼저 실행 후 조건 확인
// for loop.
for (let i = 0; i < 11; i++) {
if (i % 2 !== 0) {
continue;
}
console.log(`${i}`);
}