zkvn99

[JavaScript] 자료형 본문

Language/JavaScript

[JavaScript] 자료형

zkvn1103 2022. 11. 17. 17:46

문자, 숫자, Boolean, Symbol형으로 나뉜다

 

1. 문자형은 3가지 방식으로 작성한다

let name = "Minwook"; // 큰따옴표
let name1 = 'Minwook'; // 작은따옴표
let name2 = `Minwook`; // 백틱

 

큰따옴표안에 작은따옴표 혹은 반대의 경우 안에 따옴표는 문자로 인식

let message = "I'have''mac" // I'have''mac

 

이스케이프 시퀀스( \ )를 활용하면 큰(작은)따옴표안에 큰(작은)따옴표를 넣을 수 있음

let message1 =  'I\'m\' a boy.'; // I'm' a boy.

 

백틱은 주로 문자열 내부에 변수를 넣을 때 유용하게 사용 (ES6 템플릿 리터럴 사용)

let name = 'minwook';
let message2 = `my name is ${name}`; // my name is minwook

 

2. 숫자형은 사칙연산 가능 (모든 수를 64비트 부동소수점 형식의 2진수로 저장 int, float 상관x)

let height = 188;
let weight = 76.52;
console.log((1 + 2) * 10 - 5 / 2 % 3 ) // ( 30 - 2.5 ) -> 27.5
let x = 1/0; // Infinity (무한대)
let y = -1/0; // -Infinity (음의 무한대)


let name = "LA";
let y = name / 2; // NaN = Not a number (연산 불가)

 

3. Boolean (true or false)

let a = true;
let b = false;

let Name = "Minwook";
let gender = 'male';
console.log (Name == 'Minwook'); // true
console.log (gender == `female`); // false

 

null 과 undefined

 

null - 값이 존재하지 않음

let name = null; // null

undefined - 값이 할당되지 않았음

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

 

4. 심볼형 (ES6에서 추가됨)

변경 불가능한 원시 타입의 값 - 다른 값과 중복 x, 주로 유일한 프로퍼티 키를 만들 경우 사용

let min = Symbol('minwook');
console.log(typeof min); // symbol

 

type of 연산자 (타입을 알아낼 때 사용)

number, string, boolean, undefined, null(하위 호환성 때문에 object로 표시됨)

 

+연산자는 피연산자 중 하나 이상이 문자열이면 문자열 연결 연산자로 동작함

문자형 + 문자형 = 문자형문자형 / 숫자 + 문자형 = 문자형문자형

let a = "a"+"a"; // aa
let b = 2 + "a"; // 2a

 

형변환 (자동형변환[묵시적형변환], 명시적형변환)

 

자동형변환[묵시적형변환]

let a = "1";
let b = "2";
let c = a - b; // -1 ( -는 숫자만 가능)

 

명시적형변환

Number() - 문자를 숫자로 변환 (정수, 소수 모두 가능)

Number("1234") // 1234 , Number(true) // 1 , Number(false) // 0 

Number(null) // 0 , Number(undefined) // NaN , Number("42adv") // NaN

 

String() - 문자형으로 변환

String("null") // null , String("true") // true , String("33") // 33

 

Boolean() - Boolean형으로 변환

Boolean(1), Boolean(123), Boolean("js"), Boolean('0'), Boolean(' ') // true

Boolean(0), Boolean(“”), Boolean(''), Boolean(null), Boolean(undefined), Boolean(NaN) // false

 

Object() - 모든 자료형을 객체형으로 변환

typeof(Object(10)) // object

 

parseInt() - 문자를  int형으로 변환

parseInt(string) / parseInt(string,radix)

parseInt('-F', 16) //-15
parseInt('F', 16) //15

parseFloat() - 문자를 float형으로 변환

parseFloat(string)

parseFloat('14.55와 숫자가 아닌 문자'); // 14.55

 

형변환 관련 추천 사이트

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/parseInt

'Language > JavaScript' 카테고리의 다른 글

[JavaScript] 배열  (0) 2022.11.25
[JavaScript] 객체  (0) 2022.11.20
[JavaScript] 함수  (0) 2022.11.19
[JavaScript] 변수  (1) 2022.11.12