Javascript data type

김진영·2024년 5월 20일
0
post-thumbnail

데이터 타입

undefined, null, string, boolean, Symbol, bigInt
undefined, null 은 값이 없음을 의미함.

var a;
let b;
console.log({ a, b });
// undefined 가 출력 됨

// const c;
// console.log({ c });
// SyntaxError: Missing initializer in const declaration 에러가 남
// 상수는 항상 선언과 동시에 값을 초기와 해줘야함
const c = 10;
console.log({ c });

var d = null;
let e = null;
console.log({ a, b });

const f = null;
console.log({ f });
// undefined는 자바스크립트 엔진이 자동으로 설정 해줌, null은 개발자가 명시적으로 값이 없음을 설정 함
// undefined 묵시적인 값이 없음, null 명시적으로 값이 없음

// 포인터 변수에 null 또는 nil을 설정 한다
// 프리미티브 타입 - undefined, 참조형 또는 객체형 - null
let age = undefined;
age = 9;
let person = null;
person = {
  name: "JinYoung",
};
// 값이 없음은 어떤 연산이나 로직을 수행한 다음에 결과가 없는 것, 표현 방법은 다양함

// 매우 중요 boolean => true, false를 가짐, 논리를 다룰 수 있는 데이터 타입이기 때문에
// 알고리즘의 근간이 되는 것, 프로그래밍의 근간이 되는 것임
// 횡단보도를 건넌다 -> 신호등의 불빛 색깔을 본다. 1. 기다린다 2. 그냥 무시하고 건넌다. 3. 다른 횡단보도로 간다.
let a = 10;
let b = 5;
// 비교문
console.log(a > b); // true
console.log((a = b)); // false
console.log(a !== b); // true

// 논리연산
let TURE = true;
let FALSE = false;
console.log(TURE && FALSE); // and 연산
console.log(TURE || FALSE); // or 연산
console.log(!TURE); // not 연산 false가 출력
console.log(!FALSE); // not 연산 true가 출력

// 조건문
if (조건1 === true) {
  //...
} else if (조건2 === true) {
  // ...
} else {
}
let x = 10;
if (x > 0) {
  console.log(`x는 양수입니다. ${x}`);
} else if (x === 0) {
  console.log(`x는 0입니다. ${x}`);
} else {
  console.log(`x는 음수입니다. ${x}`);
}
// 자동차 운전시 신호등
let trafficLightColor = "green";
let stopDrive = false;

if (trafficLightColor === "red") {
  stopDrive = true;
} else if (trafficLightColor === "yellow") {
  stopDrive = true;
} else {
  stopDrive = false;
}

if (stopDrive) {
  console.log("차를 멈춥니다");
} else {
  console.log("지나가도 됩니다");
}
// 반복문 for
for (let i = 1; i <= 100; i++) {
  if (i % 2 === 0) {
    console.log(`짝수입니다. ${i}`);
  } else {
    console.log(`홀수입니다. ${i}`);
  }
}

// boolean
console.log(Boolean(true)); // ture
console.log(Boolean(42)); // ture
console.log(Boolean("Hello")); // ture
console.log(Boolean(false)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false  NaN은 Not a Number약자
console.log(Boolean("")); // false

function test(a) {
  if (!a) {
    console.log(`값이 없습니다.`);
    return null;
  } else {
    console.log(`${a}`);
  }
}
test(null); // 값이 없습니다. 출력
test(undefined); // 값이 없습니다. 출력
test(""); // 값이 없습니다. 출력
test("Hello"); // 값 Hello 출력


console.log(Boolean("")); // false
console.log(!!""); // false
console.log(!!"Hello"); // true
console.log(!!null); // false
console.log(!!undefined); // false
console.log(!!0); // false

0개의 댓글