자바썸
자바랑 썸타는중
자바썸

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
자바썸

자바랑 썸타는중

Language/JavaScript

[JavaScript] 타입

2022. 6. 3. 16:55

타입

자바스크립트의 기본 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다.

 

원시 타입(primitive type)은 

1. 숫자(number)

2. 문자열(string)

3. 불리언(boolean)

4. 심볼(symbol) : ECMAScript 6부터 제공됨

5. undefined

 

객체 타입(object type)은

6. 객체(object)


- 숫자 

 

자바 스크립트는 다른 언어와 달리 정수와 실수를 구분하지 않고, 모든 수를 실수 하나로 표현한다.

또한, 매우 큰 수나 매우 작은 수를 표현할 때는 e 표기법을 사용할  수 있다. 

var firstNum = 10;     // 소수점을 사용하지 않은 표현
var secondNum = 10.00; // 소수점을 사용한 표현
var thirdNum = 10e6;   // 10000000
var fourthNum = 10e-6; // 0.00001

 

- 문자열

 

자바스크립트에서 문자열은 큰따옴표("")나 작은따옴표('')로 둘러싸인 문자의 집합을 의미한다. 

var firstStr = "이것도 문자열입니다.";      // 큰따옴표를 사용한 문자열
var secondStr = '이것도 문자열입니다.';     // 작은따옴표를 사용한 문자열

 

- 불리언 

 

참과 거짓으로 표현한다.

자바스크립트에서 불리언 값은 예약어인 true와 false를 사용하여 나타낼 수 있다.

var firstNum = 10;
var secondNum = 11;
document.getElementById("result").innerHTML = (firstNum == secondNum); // false

 

- 객체

 

자바 스크립트의 기본 타입은 객체이다. 

객체는 여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체이다.

var dog = { name: "해피", age: 3 }; // 객체의 생성
// 객체의 프로퍼티 참조
document.getElementById("result").innerHTML =
    "강아지의 이름은 " + dog.name + "이고, 나이는 " + dog.age + "살 입니다.";

 

타입 변환

자바 스크립트는 타입 검사가 유연한 언어이다. 

자바 스크립트의 변수는 타입이 정해져 있지 않으며, 같은 변수에 다른 타입의 값을 대입할 수 있다.

var num = 20; // Number 타입의 20
num = "이십"; // String 타입의 "이십"
var num;      // 한 변수에 여러 번 대입할 수는 있지만, 변수의 재선언은 할 수 없습니다. 재선언문은 무시됩니다.

묵시적 타입 변환

자바 스크립트는 문자열 값이 오길 기대하는 곳에 숫자가 오더라도 자바 스크립트가 자동으로 타입을 변환하여 준다.

10 + "문자열"; // 문자열 연결을 위해 숫자 10이 문자열로 변환됨.
"3" * "5";     // 곱셈 연산을 위해 두 문자열이 모두 숫자로 변환됨.
1 - "문자열";  // NaN (정의되지 않거나 표현할 수 없는 값이라는 의미)

명시적 타입 변환

묵시적 타입 변화를 많이 사용하지만 명시적 타입 변환도 많이 사용한다. 

 

1. Number()

2. String()

3. Boolean()

4. Object()

5. parseInt()

6. parseFloat()

Number("10"); // 숫자 10
String(true); // 문자열 "true"
Boolean(0);   // 불리언 false
Object(3);    // new Number(3)와 동일한 결과로 숫자 3

숫자  →  문자열

1. toExponential() : 정수 부분은 1자리, 소수 부분은 입력받은 수만큼 e 표기법을 사용하여 숫자를 문자열로 변환함.

2. toFixed() : 소수 부분을 입력받은 수만큼 사용하여 숫자를 문자열로 변환함.

3. toPrecision() : 입력받은 수만큼 유효 자릿수를 사용하여 숫자를 문자열로 변환함.

 

불리언 →  문자열

String(true);     // 문자열 "true"
false.toString(); // 문자열 "false"

날짜 → 문자열 or 숫자 

getDate() 날짜 중 일자를 숫자로 반환함. (1 ~ 31)
getDay() 날짜 중 요일을 숫자로 반환함. (일요일 : 0 ~ 토요일 : 6)
getFullYear() 날짜 중 연도를 4자리 숫자로 반환함. (yyyy년)
getMonth() 날짜 중 월을 숫자로 반환함. (1월 : 0 ~ 12월 : 11)
getTime() 1970년 1월 1일부터 현재까지의 시간을 밀리초(millisecond) 단위의 숫자로 반환함.
getHours() 시간 중 시를 숫자로 반환함. (0 ~ 23)
getMinutes() 시간 중 분을 숫자로 반환함. (0 ~ 59)
getSeconds() 시간 중 초를 숫자로 반환함. (0 ~ 59)
getMilliseconds() 시간 중 초를 밀리초(millisecond) 단위의 숫자로 반환함. (0 ~ 999)

문자열 →숫자

parseInt() 문자열을 파싱하여 특정 진법의 정수를 반환함.
parseFloat() 문자열을 파싱하여 부동 소수점 수를 반환함.

 불리언 → 숫자 

Number(true);  // 숫자 1
Number(false); // 숫자 0

 

변수

데이터(data)를 저장할 수 있는 메모리 공간을 의미하며, 그 값이 변경될 수 있다.

var 키워드를 사용해서 변수를 선언한다. 

var month;     // 변수의 선언
var date = 25; // 변수의 선언과 동시에 초기화
month = 12;    // 변수의 초기화

변수는 선언을 먼저 하고 초기화를 진행하거나 선언과 동시에 초기화를 진행할 수 있다. 쉼표를 활용하여 여러 변수를 동시에 선언하거나 초기화할 수 있다.

 

변수의 타입과 초깃값

변수의 타입이 정해져 있지 않기 때문에 같은 변수에 다른 타입의 값을 다시 대입할 수 있다. 그러나 한 번 선언된 변수는 재선언할 수 없다.

var num = 10;        // 변수의 선언과 함께 초기화
num = [10, 20, 30];  // 배열 대입
var num;             // 이 재선언문은 무시됨.

변수의 이름

  • 변수는 이름을 가지고 식별하므로, 변수의 이름은 식별자(identifier)이다.
  • 변수의 이름은 영문자(대소문자), 숫자, 언더스코어(_) 또는 달러($)로만 구성된다.
  • 숫자와의 구분을 빠르게 하려고 숫자로는 시작할 수 없다.
  • 변수의 이름은 대소문자를 구분하며, 자바스크립트 언어에서 예약된 키워드는 이름으로 사용할 수 없다.

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

[JavaScript] 제어문과 배열  (0) 2022.07.25
[JavaScript] 자바 스크립트 시작  (0) 2022.06.01
    'Language/JavaScript' 카테고리의 다른 글
    • [JavaScript] 제어문과 배열
    • [JavaScript] 자바 스크립트 시작
    자바썸
    자바썸

    티스토리툴바