20240628 FRI Java Script
B. casting (형변환)
let strA = "10";
let strB = "10개";
let strC = "개10";
let numA = Number(strA);
let numB = Number(strB);
console.log(numA);
console.log(numB);
let number = 10;
let string = "20";
const result = number + string;
// 1020 => 10을 문자로 형변환 후 문자열 합치기 => 묵시적 형변환
console.log(result);
let numAA = parseInt(strA, 10); // strA를 10 진수 숫자로 변환
let numBB = parseInt(strB, 10);
let numCC = parseInt(strC, 10);
console.log(numAA);
console.log(numBB);
// 결과가 NaN 으로 반환됨.
// strC 의 문자열이 문자로 시작하기 때문.
// parseInt 내장함수 : 문자열의 첫 문자부터 숫자로 변환하게 되므로 문자로 시작하면 NaN을 반환하게 됨.
console.log(numCC);
let num16AA = parseInt(strA, 10);
let num16BB = parseInt(strA, 16);
console.log(num16AA);
console.log(num16BB);
let num = 2022;
let str = String(num); // 명시적 형변환
console.log(str);
let varA;
let varB = null;
let varC = true;
let strvarA = String(varA);
let strvarB = String(varB);
let strvarC = String(varC);
console.log(strvarA); // 문자열 undefined 가 반환
console.log(strvarB); // 문자열 null 이 반환
console.log(strvarC); // 문자열 true 이 반환
let varTrue = "1"; // True
let varnumTrue = 1;
let varFalse = "0"; // True
let varnumFalse = 0;
let varBlank = ""; //false
let boolA = Boolean(varTrue);
let boolNumA = Boolean(varnumTrue);
let boolB = Boolean(varFalse);
let boolNumB = Boolean(varnumFalse);
let boolC = Boolean(varBlank);
console.log(boolA);
console.log(boolNumA);
console.log(boolB);
console.log(boolNumB);
console.log(boolC);
C. 연산자
let numA1 = 1;
let numB1;
let numC1;
numB1 = numC1 = numA1;
console.log(numA1);
console.log(numB1);
console.log(numC1);
let numberA = 1;
let numberB = 2;
console.log(numberA + numberB);
console.log(numberA * numberB);
console.log(numberA - numberB);
console.log(numberA / numberB);
console.log(numberA % numberB);
let number1 = 10;
number1 += 10;
console.log(number1);
number1 -= 10;
console.log(number1);
number1 /= 10;
console.log(number1);
number1 *= 10;
console.log(number1);
number1 %= 10;
console.log(number1);
let a = 1;
console.log("증감 연산자");
console.log(a++); // 1 => 참조 후 증가
console.log(a);
a = 1;
console.log(++a); // 2-> 증가 후 참조
console.log(a); // 2
boolA = true;
boolB = false;
console.log(boolA || boolB); //true
console.log(boolA && boolB); //false
console.log(!boolA); //false
console.log(!boolB); //true
numberA = 2;
numberB = 2;
numberC = "2";
// 같다
console.log(numberA === numberB);
console.log(numberB === numberC);
// 다르다
console.log(numberA !== numberB);
console.log(numberB !== numberC);
// 대소 비교
console.log(numberA < numberB);
console.log(numberB > numberC);
console.log(numberA <= numberB);
console.log(numberB >= numberC);
varA = 10;
varB = 20;
varC;
console.log(varA ?? varB); // 10 => 연산자의 왼쪽을 기준
console.log(varB ?? varC); // 20
ex) 변수 user에 해당하는 사용자의 이름이 없다면 닉네임으로 사용한다. -> null 병합연산자 이용
let customerName;
let nickName = "winterHood";
let user = customerName ?? nickName;
console.log(user);
varA = 1;
varA = "winterHood";
//console.log(varA++);
console.log(typeof varA);
// 확인 결과 string 이면, varA++ 하지 않도록 확인함.
typeof varA === "string"
? console.log("문자 자료형")
: console.log("문자 자료형이 아님");