[JavaScript] 변수와 타입

·2022년 11월 9일
0

JavaScript

목록 보기
1/6

변수

변수는 데이터를 담고 있는 보관함을 의미하고, 그 보관함의 크기는 동일하다.
또한, 변수는 상황에 따라 변할 수 있는 값이다.

- 기존에 배웠던 java나 c++과 달리 JavaScript는 동적 타입 언어로 분류되기 때문에 변수를 선언할 때 데이터타입을 따로 선언하지 않아도 된다는 것이 장점인 것 같다.


변수 선언 키워드

1. let 키워드

재할당이 필요한 변수에 사용.

2. const 키워드

재할당이 불필요하거나 변경되는 것을 방지해야 한는 변수에 사용.

var 키워드
let, const가 등장하기 이전에 사용되던 변수 선언 키워드. 여러 단점이 존재하므로 var 사용을 지양해야 한다.

타입

number, string, boolean, undefined, 배열, 객체, 함수 등

<typeof 연산자>
- 특정 값의 타입을 확인하고 싶을 때 사용함.
- 연산 결과를 문자열로 반환함. (조건문에서 자주 사용되므로 주의할 것!)

✍ 사용법

typeof



<undefined, null, NaN>

1. undefined

변수는 선언되었지만, 값이 아직 할당되지 않은 상태.

let gang;
console.log(gang) //undefined

2. null

값이긴 하지만, 아무 의미도 없는(비어있는) 값.

let gang = null;
console.log(gang) // null

typeof(null)의 결과는? (JavaScript 내의 버그)

typeof null //'object'

✔ undefined와 null의 차이

undefined는 값이 아직 할당되지 않은 상태이고,
null은 값이 할당되어 있지만, 그 값이 비어있음을 의미한다.

3. NaN

Not A Number (숫자가 아님)

<NaN을 반환하는 경우>

  1. 숫자로 읽을 수 없을 때
    parseInt("고영희"), Number(undefined)

  2. 수식의 결과가 허수일 때
    Math.sqrt(-1)

  3. 피연산자가 NaN일 때
    7 * NaN

  4. 정의할 수 없는 계산식일 때
    0 * infinity

  5. 문자열을 포함하면서 덧셈이 아닌 계산식일 때
    "갱"/6

<NaN 판별>
NaN은 다른 모든 값과 비교(==, !=, ===, !==)했을 때 같지 않으며,
다른 NaN과도 같지 않다.

  1. isNaN()
    현재 값이 NaN이거나, 숫자로 변환했을 때 NaN이 되면 true를 반환함.
    값이 Number 형태가 아니면 숫자로 형 변환 후 판별함.

  2. Number.isNaN()
    Number 타입이고, 현재 값이 NaN이어야만 true를 반환함.

isNaN('Hello world'); //true
Number.isNaN('Hello world'); //false
  1. NaN은 자기 자신과 비교했을 때 false를 반환함.(같지 않음)
NaN === NaN //false
profile
개발하는 갱스터

0개의 댓글