JavaScript

특수자료형

낮햇볕 2022. 2. 16. 15:21

undefined 

값이 할당되어있지 않음

변수 선언했으나 초기화되지않음

변수선언하면 undefined가 나온다 

 

let name;

undefined 

 

name

undefined 나옴

변수선언하지 않음

 

let undefinedNum;

console.log(undefinedNum);

undefined

//undefinedNum 은  값을 지정해주지않은 undefined 자료형
//nullNum 은 임의로 비워둔 null자료형
//두개의 값은 비교했을때 참

 

 

null

공백 값이 없다

의도적으로 값 없는게 undefined랑 다르다

name = null

null

name

null

 

let anotherName;

undefined

anotherName == nulll

true

anotherName == undefined

true

 

let nullNum = null;
console.log(nullNum);

null

//nullNum 은 임의로 비워둔 null자료형

 

표현가능 숫자의 의미값3개

infinity :  무한대

undefined

NaN(Not-aNumber) :  숫자가 아닐때

 

name = infinity

infinity //무한대 값들어간다

 

name>10

true //무한대여서 숫자 어떤값 해도 참이 나온다

 

name>Number.MAX_SAFE_INTEGER

true

//숫자라는 최대값들고온다 안전한 정수값의 최대값들고온다

무한대여서 true가 된다

 

Number.MAX_SAFE_INTEGER 의 숫자
9007199254740991

 

자료형검사

하나의 변수안에 다양한 자료형이 저장될수있다

typeof()로 자료형을 확인할수있다

 

let name = 4;

typeof(name);

'number'

let anotherName = undefined;

typeof(anotherName);

'undefined' 

let sumNum = 3;

typeof(sumNum);

'number' //숫자열

typeof(hi);

'string'//문자열

 

typeof(30>20);

'boolean'//불리언

name = null

typeof(name);

'object'//객체

 

이전값 지워주고싶다

console.clear(clear); 위의 콘솔기록 다지워짐

 

강제자료형

기존 자료형을 강제로 숫자나 문자나 boolean으로 바꿀수있다

number  숫자열 

string     문자열

boolean  ture false

 

 

 

typeof()  자료형을 나타내는 문자열을 반환

typeof(true)

boolean 

강제형변환

let num = 10;

num

10

String(num); 

'10'

//원래 숫자인 num을

강제로 String(문자열)을 줘서 ''작은따옴표가 생겨 문자열이 되었다

 

let numString = string(num);

강제로 문자열로 변환시켜서

numString

'10' 작은따옴표나옴

numString+10

'1010' 

 

number(numString);

10 //문자를 숫자로 바꿔줌

number(numString)+10;

숫자10됨num으로 감싸줘서

 

number('String')+10;

NaN

//숫자아님 'String'이 문자여서

Boolean("");

flase

Boolean(0);

flase

Boolean(undefiend);

flase

Boolean(null);

flase

 

 

let num =50

50

let text ="억명";

억명

let numText = num+text;

'50억명' //+해주면 붙여서사용

typeof(num)

number

typeof(text)

string

typeof(numText)

string

Typeof()이용해 자료형확인후 두변수더한값 numText에 할당

 

 

isNaN() 함수는 어떤 값이 NaN인지 판별

인수가 숫자가 아니면 True를 반환한다

인수가 숫자이면 False를 반환한다

isNaN(Number('string') );

true

//강제형변환 isNaN으로비교해서 아래값이숫자가 맞는지 아닌지 확인가능

Number("String")==NaN

false

 

 

 

자동 자료형

자동으로 형변환한다

숫자문자사이 +들어가면 숫자가 자동으로 문자열

let numString = 10;

numString+"1000"

'101000'

//문자열이 된다

숫자를 문자로 바꿔준다

 

상수와 리터럴

상수 : const 를 이용한 바꿀수 없는고정된값

변수처럼이름정해줄수있다 한번만 표기 바꿀수없다

리터럴: 24, "문자열"과 같은값

리터럴과 상수는 동일한의미지만 나눠서사용한다

 

const MAX =100;

MAX 

100

Max =10

 

 

const pi = 3.141212

상수는 코드로는 수정가능 하지만 console창에선 불가능

 


 //상수리터럴
const MAX = 100;

//콘솔에서 바로 입력 안해서 바꿔서 사용가능 지금 숫자있는 부분을 리터럴이라부름
 console.log(MAX);
// MAX = 5;
//저장하고 실행하면 오류가난다 자료형에서 오류
//Uncaught TypeError: Assignment to constant variable.

 

 

'JavaScript' 카테고리의 다른 글

입출력  (0) 2022.02.16
일치연산자  (0) 2022.02.16
복합 대입연산자 += -= 증감연산자 ++전위 후위  (0) 2022.02.16
변수 let var  (0) 2022.02.16
true flase !(not) ||(or) &&(and)  (0) 2022.02.16