티스토리 뷰

데이터 타입?

  • 데이터 타입(data type)이란 프로그램에서 다룰 수 있는 값의 종류를 의미한다.

데이터 타입 종류

숫자

  • 자바스크립트는 다른 언어와는 달리 정수와 실수를 따로 구분하지 않고, 모든 수를 실수 하나로만 표현한다.
var number1 = 10;
var number2 = 10.01;

console.log(number1); //10
console.log(number2); // 10.01 

문자열

  • 자바스크립트에서 문자열은 큰따옴표(")나 작은따옴표(')로 둘러싸인 문자의 집합을 의미한다.
  • 문자열을 이어줄때는 +기호를 사용한다.
  • 큰따옴표 안에 큰 따옴표 또는 작은 따옴표 안에 작은 따옴표를 입력시 이스케이프 문자(\)를 사용한다.
var firstName = 'park';
var lastName = "jin";

var fullName = firstName + lastName;
console.log('fullName :: ' + fullName); // fullName :: parkjin

var introduce = "my name is \"park jin\"";
console.log(introduce); // my name is "park jin"

불리언(Boolean)

  • 참(true), 거짓(false)를 저장한다.
var booleanTrue = true;
var booleanFalse = false;

console.log(booleanTrue); // true
console.log(booleanFalse); // false

var number1 = 1;
var number2 = 2;

console.log(number1 === number1); // true
console.log(number1 === number2); // false

null과 undefined

  • null이란 object 타입이며, 아직 '값'이 정해지지 않은 것을 의미한다.
  • undefined란 null과는 달리 '타입'이 정해지지 않은 것을 의미한다.
  • undefined는 초기화되지 않은 변수나 존재하지 않는 값에 접근할 때 반환한다.
var undefinedVar; // 초기화 하지 않음.
var nullVar = null;

console.log(undefinedVar); // undefined
console.log(nullVar); // null

// 없는 변수
console.log(typeof noneVar); // undefined
  • null과 undefined는 동등 연산자(==)와 일치 연산자(===)로 비교할 때 그 결과가 다르므로 주의한다.
  • null과 undefined는 타입을 제외하면 같은 의미지만, 타입이 다르므로 일치하지는 않는다.
var undefinedVar; // 초기화 하지 않음.
var nullVar = null;

console.log(undefinedVar == nullVar); // true
console.log(undefinedVar === nullVar); // false

객체

  • 객체는 여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체를 의미한다.
var person = {
    name: 'park jin',
    age: 31,
    introduce: function() {
        return 'my name is ' + this.name + ' and my age is ' + this.age
    }
};

console.log(person.name); // park jin
console.log(person.age); // 31
console.log(person.introduce()); // my name is park jin and my age is 3

typeof

  • 피 연산자의 타입을 반환한다. (null과 undefined의 타입에 주의한다.)
var number = 31;
var string = 'park jin';
var object = {};
var nullVar = null;
var undefinedVar;

console.log(typeof number); // number
console.log(typeof string); // string
console.log(typeof object); // object
console.log(typeof nullVar); // object
console.log(typeof undefinedVar); // undefined

NaN

  • Not a Number의 축약형으로, 정의되지 않은 값이나 표현할 수 없는 값이라는 의미한다.
var nanVar = 1 - 'park jin';
console.log(nanVar); // NaN
console.log(0 / 0); // NaN

타입 변환, 변수 재정의

  • 자바스크립트는 타입 검사가 느슨하다.
  • 변수의 타입은 정해져있지 않으며 다른 타입으로 재정의가 가능하다. (버그 가능성 높음)
var number = 31;
number = 'park jin';

console.log(number); // park jin

묵시적 타입 변환

  • 특정 타입의 값에 다른 타입의 값이 오면, 자동으로 타입을 변환한다.
  • 자동으로 변환되므로 의도하지 않는 타입으로 변환 될수 있으니 주의한다.
var example1 = 'park jin age is ' + 31;
console.log(example1); // park jin age is 31
console.log(typeof example1); // string

var example2 = '10' * '10';
console.log(example2); // 100
console.log(typeof example2); // number

출처

http://tcpschool.com/javascript/js_datatype_basic

불러오는 중입니다...

 

'개발 언어 > NodeJS' 카테고리의 다른 글

자바스크립트 - 연산자  (0) 2019.07.06
자바스크립트 - 변수  (0) 2019.07.06
자바스크립트 - 기본 개념  (0) 2019.07.06
Nodejs - 개발 환경 설정(VS Code)  (0) 2019.07.06
Nodejs - 글 작성 이유 및 정리 계획  (0) 2019.07.06
댓글