자바스크립트 - 자료형(DATA Types)

정영찬·2022년 2월 4일
0

자바스크립트

목록 보기
6/21

동적 타입

  • JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능하다.
let vat = 'name';

vat = 19;

vat = false;

console.log(vat)

// 출력값 false

vat는 string 타입이었다가 int 타입이었다가 boolean 타입으로 할당되었다.

정해진 타입이 없는 것이지, 타입 자체가 없는것은 아니다

데이터 타입

  • 기본 타입 (Primitive values)
    - Boolean
    • Null
    • Undefined
    • Number
    • String
    • Symbol(ECMAScript 6 에 추가됨)
  • 객체 (Objects)
// Boolean

const isTrue = true;
const isFalse = false;

console.log(isTrue, typeof isTrue)//true boolean
console.log(isFalse, typeof isFalse)//false boolean

const a = new Boolean(false); // [Boolean: false] object

console.log(a, typeof a) // true boolean

if (a){ // a의 기본값을 false로 해놨지만 객체이므로 조건문 안에서 true로 평가된다.
    console.log('false?'); //false?
}


const b = Boolean(false)
console.log(b, typeof b); // false boolean


if (b){ // b가 객체가 아니고 b 자체의 값이 false 이므로 출력되지 않는다.
    console.log('false')
}

// Null

const c = null;

console.log(c, typeof c); // null object


//undefined

let d;

console.log(d, typeof d); // undefined undefined


if (c == d) {
    console.log(c==d); // true
}


if (c === d) {
    console.log(c===d); // false
}


// Number

const a = 37;
console.log(a, typeof a) // 37 number


const b = 96.7;

console.log(b, typeof b) // 96.7 number


const c = NaN; 
console.log(c, typeof c) // Nan number



const d = Number('mark') //문자열을 숫자로 바꾸는 함수에 문자를 넣으면
console.log(d, typeof d);  // NaN이 나오는데 이는 숫자가 아니라는 뜻이다.


const e = Number('35')
console.log(e, typeof e); // 35 number



//String

const a = 'Mark';

console.log(a, typeof a); // Mark string

const b = 'Mark' + 'Lee';

const c = a + 'Lee';

console.log(c, typeof c); // MarkLee string

const d = `${a} Lee`;

console.log(d, typeof d); // mark Lee string


//Symbol

const a = Symbol();
const b = Symbol(37);
const c = Symbol('Mark');
const d = Symbol('Mark');

console.log(a, typeof a); // Symbol() symbol
console.log(c === d ); // c와 d 는 같은 인자일지언정 서로 고유의 값을 가지므로 false 

profile
개발자 꿈나무

0개의 댓글

관련 채용 정보