[오늘의 JS] String, Numeric, Increment, Decrement, or, and, ==, ===, if, switch, for, while,

Jessie H·2022년 3월 2일
0
//1. String concatenation
console.log("my" + "hamzzi");
console.log("1" + 2);
console.log(`string literals: 1 + 2 = ${1 + 2}`);
//`${+}`를 하면 바로 {}안의 값까지 바로 string으로 만들어진다

//특수문자 '넣을 때 \'로 넣기
console.log("Hamzzi's babyfat");

//줄바꿈은 줄바꿈할 지점에서 \n
console.log("Hamzzi's \nbabyfat");

//2. Numeric operators
console.log(1 + 1);
console.log(1 - 1);
console.log(1 / 1);
console.log(1 * 1);
console.log(5 % 2);
console.log(2 ** 3); //2의 3승

//3. Increment and decrement operators
//Preincrement
let a = 4;
const PreIncrement = ++a;
console.log(`PreIncrement: ${PreIncrement}, a: ${a}`);

/* let a = a + 1;
PreIncrement = a*/

//postincrement
const PostIncrement = a++;
/*PostIncrement = a;
a = a + 1;*/
console.log(`PostIncrement: ${PostIncrement}, a: ${a}`);

const PreDcrement = --a;
console.log(`PreDcrement: ${PreDcrement}, a : ${a}`);
//let a = a -1; PreDcrement = a;
const PostDcrement = a--;
console.log(`PostDcrement: ${PostDcrement}, a: ${a}`);
//PostDcrement = a;, a = a-1;

// 수식 줄여쓰기
x += y; // x = x + y
x -= y; // x = x -y
x *= y; // x = x * y
x /= y; // x = x // y

//비교
a < b;
a <= b; //작거나 같다
a > b;
a >= b; //크거나 같다

//Logical operators
// ||(or)
const yeah1 = true;
const yeah2 = 3 < 1;
console.log(`or: ${yeah1 || yeah2 || check()}`);
// or 해놓은 것중 하나라도 true인 것이 있으면 거기서 실행을 멈추고 바로 true로 결론남

function check() {
  for (let i = 0; i < 10; i++) {
    //wasting time
    console.log("으악");
  }
  return true;
}
//||(or) 과 &&(and) 일 때는 expression이나 function을 뒤에 두는 것이 좋다

// &&(and)
console.log(`and: ${yeah1 && yeah2 && check()}`);

/*and는 null 체크를 간단하게 할 때도 많이 쓰인다*/
// wow가 null이 아닐 때만 wow.somthing을 실행함

if (wow != null) {
  wow.something;
}

// !(not) true인 것을 not true로 변경시킬 때 씀
console.log(!yeah1);

//7. equality
const StringOne = "1";
const NumberOne = 1;

// == loose eauality, with type conversion(타입 상관없이 유연하게 인정)
console.log(StringOne == NumberOne); //true
console.log(StringOne != NumberOne); // false

//''안에 있는 게 숫자니까 StringOne이나 NumberOne이나 같은거로 취급

// === strict equality, no type conversion (타입 신경써서 인정)
console.log(StringOne === NumberOne); // False
console.log(StringOne !== NumberOne); // True


//if, else if, else

const name = "Hamzzi";
if (name === "Hamzzi") {
  console.log("What a cute thing!");
} else if (name === "Zzizhu") {
  console.log("Go to Study right now!");
} else {
  console.log("I don't know who you are!");
}

// Ternary operator ? : ? 앞에 적은 내용이 맞으면 왼쪽 거 출력, 틀리면 오른쪽거 출력
console.log(name === "Hamzzi" ? "yes" : "no");

// Switch
const what = "Hamzzi";
switch (what) {
  case "Hamzzi":
    console.log("Hamzzi is lovely!");
    break;
  case "Zzizhu":
  case "Youtube":
    console.log("Turn off and go to study!");
    break;
  default:
    console.log("There are a lot of cute things in the world!");
    break;
}

//elseif를 반복하게 될 경우 switch를 쓰는 것이 가독성이 더 좋다

//loops
//while 조건문이 맞을때만 반복하게 하고 싶으면 while 쓰기
let i = 5;
while (i > 0) {
  console.log(`while: ${i}`);
  i--;
}

//do-while do를 먼저 실행한 다음에 while 내용이 맞는지 검사
let o = 6;
do {
  console.log(`do while: ${o}`);
  o--;
} while (o > 0);

//for for(begin; condition; step)
for (u = 3; u > 0; u--) {
  console.log(`for : ${u}`);
}

// for 안에 변수 선언해서도 사용 가능
for (let y = 9; y > 0; y = y - 3) {
  console.log(`forlet y: ${y}`);
}

//nested loops for 을 연달아 계속 안에 적는 것
for (let k = 0; k < 10; k++) {
  for (let e = 0; e < 10; e++) {
    console.log(`k: ${k}, e: ${e}`);
  }
}

뭔가 많은 걸 배운 날...머리가 터질 것 같지만 열심히 복습하는 걸로!!

profile
코딩 공부 기록장

0개의 댓글