변수 값의 타입 - 원시타입(primitive type ) ( + 객체타입(object type)이랑 비교하며 알아보기)

YS_Study.log·2022년 1월 15일
0

변수 값의 타입

변수의 값, 변수에 담을 수 있는 데이터타입은 가장 작은 단위(primitive type)인 number, string, boolean, null. undefined, symbol 이 있다.

  • primitive type? single item, 더이상 작은 단위로 나눠질 수 없는 한가지 아이템
    매우 작은 값이여서 메모리에 그대로 들어온다.

객체 타입과 비교하며 알아보기 → 객체 object type

1. number / 숫자형

  • 값이 정수든 소수점이든 상관없이 'number' 로 출력된다.
const number = 17; // 정수 // 값 value: 17, type: number
const num = 17.1; // 소수점 // 값 value: 17.1 type: number

speicla numeric values: infinity / negativeInfinity / nAn

  • 특수 숫자 값! 연산할때 나누고자하는 값이 숫자인지 아닌지 알고 해야한다.
const infinity = 1 / 0; // 숫자를 0으로 나눔 => 무한대숫자값
const negativeInfinity = -1 / 0; // - 숫자로 나눔 (- nagative value)
const nAn = 'not a number' / 2; // 숫자가 아닌 string 값을 나눌때 nAn
console.log(infinity);       // Infinity
console.log(negativeInfinity); // -Infinity
console.log(nAn);              // NaN

2. string / 문자형 (문자열)

const char = 'c'; // string type 할당
const greeting = 'hello' + char; // 
// string 타입의 값에 다른 변수를 + 기호를 이용하여 이어 붙일 수 있으며 
// = string type으로 모두 변경된다.
console.log(greeting) = "helloc"

3. boolean = true / false

  • 참과 거짓을 판별하는 논리형 타입이다.
    조건이 진실이면 true를 거짓이면 false를 출력한다.
  • 거짓으로 판별되는 값은 falsy 값이라 부르고, 참으로 판별되는 값은 tuthy 값이라 부른다.
  • 무조건 거짓 false인 값은 : (숫자)0, null, undefined, NaN, ' '
'10' === 10 // fase 출력
 35 === 35 // true 출력

4. null

  • 명확하게 아무것도 아닌 값
let nothing = null;

5. undefined

  • 선언은 되었지만 아무값도 지정되어있지 않음.
let x;
let x = undefined;

6. symbol (es6에서만 사용가능)

  • 맵, 자료구조 등에서 고유한 식별자가 필요하거나 동시다발적으로 일어날수 있는 코드에서 우선 순위를 주고 싶을 때 쓰여진다.
// 주어지는 str에 상관없이 각각의 고유한 식별자
const symbol1 = Symbol('id'); 
const symbol2 = Symbol('id');
console.log(symbol1) === symbol2); // false

// 주어지는 str이 똑같을때, 동일한 심볼을 만들고 싶을때 
const gsymbol1 = Symbol.for('id'); 
const gsymbol2 = Symbol.for('id');
console.log(gsymbol1) === gsymbol2); // true

// symbol은 string으로 변환해서 출력해야함./ .desription를 뒤에 붙여서
// 예를 들어 symboll.desription 

check!

null 과 undefined은 다르다!

둘다 선언된 변수의 값이며, null은 아무값도 명확하게 없다고 우리가 직접 할당해준 값, undefined는 그냥 아무값도 지정되어 있지않는 값을 나타내는 것이다.

즉, 우리가 할당을 했는지 할당을 하지 않았는 지에 따라 나뉜다.

드림코딩엘리
https://www.youtube.com/watch?v=OCCpGh4ujb8&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=3

profile
느리지만 조금씩 공부하는 중 입니다. 현재 1년 6개월차 신입입니다 ><!

0개의 댓글