Study/JavaScript

[JavaScript] 기본 문법 정리 (값, 불리언, 숫자)

MJ FE 2022. 11. 7. 13:25

 

 

1. 변수


1. 변수 종류

- var (가변형 변수)

- let (가변형 블록 지역 변수)

- const (불변형 블록 지역 변수)

 

2. 변수 선언 방식 : var / let / const + 변수 이름;

- 지정된 초기값 없이 선언된 변수는 undefined 값을 가짐

 

3. 변수 선언 시 지켜야할 룰

- 대문자와 소문자 구별 → ex. let myAge (o) / let myage (x)

- 예약어를 쓸 수 없다는 것 → let if / let for / let while 등 (x)

 

4. 변수 할당

let myAge;	// 변수 선언
myAge = 20;	// 변수 할당

let myAge = 20;	// 변수 선언과 동시에 할당​

 

 

2. undefined / null


구분 공통점 차이점
undefined - 값의 유무 표현
- 빈 값 / 없는 값
- 유일한 값
- 원시값
변수 선언 후 값을 할당 받지 않은 상태
null 값이 없다는 것을 명시하는 것

 

 

 

3. 타입 변환


1. 묵시적 타입 변환

let myAge = 20;
let myAge = "20";

2. 명시적 타입 변환

- 종류 : Number() / String() / Boolean() / Object() / ParseInt() / ParseFloat()

let myAge = "20";
document.write(Number(myAge)); // 명시적 타입 변환

 

 

4.  Boolean


1. Boolean : 참(true), 거짓(false) 값을 지닌 데이터 타입

2. Boolean 초기값

true false 초기값 외
false 0 / null / undefined / 빈 문자열" " / NaN / false 등

 

5. 부동소수점 연산 및 해결방법


let x = 0.4;
let y = 0.5;
let rtn = x + y;	// rtn = 0.9

let x = 0.2;  
let y = 0.1;
let rtn = x + y;	// rtn = 0.300000000000004

console.log(Math.round(rtn));	// rtn = 0
console.log(rtn.toFixed(1));	// rtn = 0.3

1. Math.round() : 반올림 해주는 함수

2. toFixed(num) : num의 자릿수까지 반올림해 String으로 반환

 

 

6. Infinity


1. Infinity

- 무한대를 나타내는 값

- 숫자 타입

- 양의 무한대

- 64비트의 공간이 넘치는 경우

- 컴퓨터가 처리 가능한 가장 큰 수

 

2. isFinite(value)

- 유한/무한 숫자를 판별하는 함수

- true는 유한숫자 / false는 무한숫자

let num = Infinity;
let num2 = 5000000000000;

console.log(isFinite(num));	// false
console.log(isFinite(num2));	// true

 

 

7. Number.isInteger(num)  /  parseInt(num)  /  parseFloat(num)


1. isInteger()

- 정수인지 판별하는 함수

- 반환값은 true / false

- 반환 타입은 Boolean

console.log(Number.isInteger(10));	// true
console.log(Number.isInteger(true));	// false

2. parseInt()

- 정수로 변환하는 함수

- 반환 타입은 Number

let myAge = "12.22";
      
console.log(parseInt(myAge));	// 12

3. parseFloat()

- 실수로 변환하는 함수

- 반환 타입은 Number

let myAge = "12.62aaa";
let myAge2 = "12.22";
      
console.log(parseFloat(myAge));		// 12.62
console.log(parseFloat(myAge2));	// 12.22

 

 

8. Number.isNaN()


1. isNaN()

- NaN 인지 판별하는 함수

- 반환값은 true / false

- 반환 타입은 Boolean

console.log(Number.isNaN(NaN));        // true
console.log(Number.isNaN(0 / 0));      // true
console.log(Number.isNaN("NaN"));      // false
console.log(Number.isNaN(undefined));  // false
console.log(Number.isNaN({}));         // false
console.log(Number.isNaN("blabla"));   // false
console.log(Number.isNaN(true));       // false
console.log(Number.isNaN(null));       // false
console.log(Number.isNaN(37));         // false
console.log(Number.isNaN("37.37"));    // false
console.log(Number.isNaN(""));         // false