study blog

[JavaScript] 자바스크립트 입문 (2)_ 기본자료형/객체 본문

제1장

[JavaScript] 자바스크립트 입문 (2)_ 기본자료형/객체

Jiji__ 2022. 2. 2. 16:03
728x90

/*프로그래머스의 무료 자바스크립트 입문강의를 듣고 기록하는 포스팅입니다.*/

 

 

Number: 숫자를 나타내는 자료형

정수와 실수 구분하지 않음

var a=100;
console.log(a); //출력값:100

var b=3.33;
console.log(b); //출력값:3.33

var c=1e-3;
console.log(c); //출력값:0.001

a 정수, b 실수, c 지수표기법

지수는 e로 표현하는데 (다른 언어에서는 대문자로 표기하는 듯하다) 아주 큰 숫자를 간단하게 표기할 때 쓴다.

 


String 자료형을 Number 자료형으로 변환

var height=prompt("키를 입력해 주세요.");
console.log(height, typeof(height)); //출력값: 164 string

prompt를 통해 사용자로부터 키를 입력받아 변수에 저장한다.

여기서 내 키인 164라는 숫자를 썼는데도 불구하고 타입이 number가 아니라 string으로 나오게 되는데

밑의 예시를 보면 왜 string으로 나오는지 알 수 있다.

typeof(1);
'number'

typeof("1");
'string'

우리는 현재 키에 해당되는 숫자를 숫자로써 활용해야 하기 때문에 string을 number로 변환시켜줘야 하는데

parseIntparseFloat이라는 명령어를 통해 변환시킬 수 있다.

var height_int = parseInt(height);
console.log(height_int, typeof(height_int));

var height_float = parseFloat(height);
console.log(height_float, typeof(height_float));

여기서 사용자가 어떻게 입력을 하느냐에 따라 출력값이 달라지는데

만약 <164.5> 라고 사용자가 입력했을 경우

parseInt의 출력값은 164 'number'

parseFloat의 출력값은 164.5 'number' 라고 나오게 된다.

즉, parseInt는 정수로, parseFloat은 입력한 값 그대로인 실수로 나오게 되는데

<164.5 입니다.> 라고 입력을 해도 위와 똑같은 출력값이 나온다.

 

하지만 <저는 164.5 입니다.> 라고 입력을 했을 때는 둘 다 NaN "number" 라고 뜨는데

NaN의 이미는 Not a Number, 숫자가 아니라는 뜻이다.

이런 결과를 통해 우리는 parseInt와 parseFloat는 처음 시작이 숫자여야만 입력한 출력값이 제대로 나온다는 걸 알 수 있다.

 


String

문자열 안에 따옴표, 큰따옴표 등의 문자를 활용하려면 escape character를 사용한다.

 

따옴표:  \'

큰따옴표: \"

줄바꿈: \n

 

만약 <쌍따옴표"를 문자열 안에 쓸 수 있습니다.> 라는 출력값을 만들고 싶다면

console.log('쌍따옴표"를 문자열 안에 쓸 수 있습니다.');
console.log("쌍따옴표\"를 문자열 안에 쓸 수 있습니다.");
console.log('쌍따옴표\"를 문자열 안에 쓸 수 있습니다.');

이렇게 많은 방법을 쓸 수가 있다.

 


Object 객체

number, string, boolean의 단순 자료형보다 더 복잡한 자료를 표현할 때 사용한다.

객체는 중괄호 {} 를 사용한다.

 

{

//객체를 정의

};

var empty_obj = {}; //출력값: undefined
typeof(empty_obj); //출력값: 'object'

빈 객체를 만들어서 출력값은 undefined로 나오고 이에 대한 타입은 object로 나옴.

 

그리고 객체는 속성(property)의 집합으로 이루어져있다.

속성을 정의할 때에는 {}안에 name1:value1, name2:value2 (속성이름: 값)의 형태를 씀.

객체의 속성에 접근하고 싶을 때에는 점(.)을 이용하거나 대괄호[]를 이용한다.

속성의 값을 변경할 때에도 점과 대괄호를 사용한다.

 

대괄호를 쓸 때는 쌍따움표가 있어야 한다.

중간에 name과 age의 속성 값을 변경한 다음 출력한 결과 변경한 값으로 잘 출력이 됐다.

 


undefined 와 null

undefined는 변수나 속성이 정의되어있지 않을 때 뜬다.

var uninitialized_var; //출력값: undefined, 변수값이 없음

var obj={
    x: 1,
    y: 2
};
obj.z //출력값: undefined, 속성이 없음

 

null은 개발자가 명시적으로 아무것도 없는 빈 상태를 나타낼 때 사용된다.

typeof의 결과는 object로 나오며 값은 null이 된다.

 

null 참고

728x90
Comments