개발 공부는 어려워
Published 2021. 7. 9. 13:22
JavaScript#2 타입 study/js
반응형

1. 기본 타입 

- Data Type이란 프로그램엑서 다를 수 있는 값으 종류를 의미한다.

- 자바스크립트의 타입은 다른 언어와 다르게 원시 타입(primitive type)과 객체 타입으로 구분된다.

- 원시 타입은
# 숫자 (number)
# 문자열 (String)
# 블린 (boolean)
# 심볼 (sysmbol)
# undefined

- 객체 타입은
# 객체 (Object)

자바스크립트는 다른 언어와 다르게 정수(Int) 실수(double,long)을 따로 구분하지 않고, 모든 숫자를 하나로만 표현한다.

var num1 = 10;
var num2 = 10.0;




다른언어에서는 ""는 문자열 ''은 문자라고 표현하지만 자바스크립트에서는 그러한 구별없이 표현된다.
하지만 문자열안에 따음표를 또 적으려면 ""안에 '' 혹은 ''안에 "" 이런식으로 처리가 가능하다.

var str1 = "안녕";
var str2 = '안녕';
var str3 = "안녕 나는 '27살'이야";
var str4 = '안녕 나는 "27"살 이야';



* 자바스크립트에서는 문자열과 숫자를 더할 수 있는데 이럴 경우에는 숫자를 문자열로 자동으로 변환하여 표현된다.

var num = 27;
var str = "살";

console.log("안녕 나는" + num + str + "이야");
//안녕 나는27살이야



boolean은 다른 언어와 동일하게 true false를 표현한다.

심볼은 유일하고 변경할 수 없는 타입으로 객체의 프로퍼티를 위한 식별자를 사용할 수 있다.

var sym = Symbol("javascript");  // symbol 타입
var symObj = Object(sym);        // object 타입




typeof연산자는 이 변수의 타입이 어떤지 보여준다

var num = 10;
console.log(typeof(num)); 
// number





* null과 undefined 는 다른 의미로 null은 object타입으로 정해지지 않은 것이라는 뜻이 있다. 
  undefined는 초기화되지 않은 변수나 존재하지 않은 값으로 나타낸다.
  
  즉 null은 개발자가 의도하고 값을 정하지 않은 것이지만, undefined는 의도하지 않게 존재하지 않은 값이라고 생각할 수 있다.
  

  null == undefined //ture => 존재하지않은 값은 동일
  null === undefined //false => 타입이 다르다 null은 Object


  
2. 타입 변환

- 자바스크립트는 타입 검사가 유연한 언어이며 타입이 정해져 있지 않아서 같은 변수에 다른 타입의 값을 다시 대입할 수 있다.

var num = 10; //numver
num = "십";   //String
var num;  //false => 값을 다시 대입할 수 있지만 변수의 재선언은 할 수없다.




- 자바스크립트는 위에서 말했듯 타입에 대한 변환이 유연하기 때문에 다른언와 차이가 명확하다

10 + "살"   // 문자열 연결을 위하여 10은 문자열로 반환된다.
"1" + "1"  // 합이 되기 위하여 "1"은 둘다 숫자로 변환이 된다.
1 + "문자"  //  NaN




** NaN **
Not a Number의 줄임말로, 정의되지 않은 값이나 표현할 수 없는 값이라는 의미를 가진다.

반응형

'study > js' 카테고리의 다른 글

JavaScript#4 제어문  (0) 2021.07.16
JavaScript#3 연산자  (0) 2021.07.12
JavaScript#1 소개  (0) 2021.07.08
JavaScript_Prototype  (0) 2021.07.07
JavaScript_동기와 비동기  (0) 2021.07.07
profile

개발 공부는 어려워

@신입개발자하랑이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!