자바스크립트 변수, 자료형 (Javscript variable, data type)

sunghoon·2025년 3월 17일
0

2.0 Glove Project

목록 보기
18/35
post-thumbnail

자바스크립트 변수

자바스크립트의 변수는 자료형이 오버로딩된 객체 타입이다. c++언어와 비교하며 추측할 수 있다.

var msg1 = 'Hello';
var msg2 = 10;
var msg3 = new Number(10);

// expect as C++
class Number {
	Number(num) {
		number = num
	}
}

class String {
	String(str) {
		string = str;
	}
}

console.log('Hello World')
  • node
    • 터미널 node 입력 시, 이 상태에서는 JavaScript 코드를 바로 입력해서 실행할 수 있어.
var msg = new Number(10);

var count = 100;

msg = count;

console.log(msg);

숫자형을 문자열 변수에 담는다는 게 어떻게 이뤄질까?

결국 변수는 값이 아닌 주소를 넘겨주는 형식

변수 이름

  • 변수 이름 규칙
    • 첫 글자 숫자나 특수문자 불가
      • 특정 예외적인 특수문자 가능($..)
    • 첫 글자는 영문자 or 언더스코어(_)
    • 대소문자 구별
    • 여러 단어인 경우 언더스코어 혹은 대문자로 구분
    • 예약어 사용 불가하다(case, return, if…)

자료형

  • 어떤 프로그래밍 언어든 자료형은 존재
  • 자바스크립트에서도 대입하는 값의 형태에 따라 데이터를 구분하여 처리하는데 이러한 데이터 유형이 자료형(data type)

자료형의 종류 (크게 원시형과 오브젝트형)

  • 원시형: 1개의 데이터를 담고 잇는 자료형으로 변수 할당 시 고정된 메모리 크기를 가지고 변수가 값을 직접적으로 가리키는 형태이다.
    • 숫자형 Number
      • 정수형, 실수형 … 포함하는 객체형
    • 문자열형 String
    • 불리언형 Boolean
    • 널형 Null - 아무값도 없는 상태
      (null = 가리키는/참조하는 메모리가 없다 ⇒ 객체이므로 포인터. 0, 빈문자와 다르다)
    • undefined 형 - 값이 할당되지 않은 상태
      • 사용자가 임의로 넣어주는 null 값이지만, undefined 형은 정상적인 값을 리턴하지 못했을 때(의도하지 못한 값)
  • Object type: 오브젝트형의 한가지의 데이터가 아니라 데이터 컬렉션과 같은 여러 자료형을 표현할 수 있는 특수한 자료형이다.

숫자형

  • 데이터 사이 따옴표 없이 숫자로 표현
  • 컴파일 언어 처럼 int, double같은 자료형 없음
  • 실수 / 부동소수점
var myAge = 20;
var myHeight = 178.5;
console.log(typeof myAge);
console.log(typeof myHeight);

var kor = 95;
var eng = 85;
var math = 52;

var total = kor + eng + math;
// 각각 숫자형 객체인데 더하는게 어떻게 가능할까? JS에서 더하기는 연산자 오버로딩되어 있다.
var avg = total / 3;

console.log(total);
console.log(avg);

var a = '난'/10;

console.log(a); // Not a number

문자형

자바스크립트 문자형은 문자열이므로 큰 따옴표와 작은 따옴표 구별이 따로 없다.

문자형과 숫자형을 더하면 문자형으로 인식된다.

//문자열
var lang1 = new String("java")
var lang = "Javascript"
var love = '사랑하';
var you = null;
var num = 5;

console.log(lang + null + love + num);
// result: Javascriptnull 사랑하5

문자열의 길이를 구하는 length 멤버함수

var count = lang.length
console.log("lang.langth : " + lang.length)

따옴표 종류로 표현하기

var msg1 = 'She said "Good bye"';
var msg2 = "She's gone"

console.log(msg1);
console.log(msg2);

Boolean type

var checkIn = true;
var checkOut = false
console.log(checkIn);
console.log(checkOut);

var bigger = 100 > 50;
var fake = 100 < 50;

console.log(bigger);
console.log(fake);

null

  • null은 가리키는 대상의 메모리가 없다. 단순히 값이 없는 것보다는 대상 메모리가 없는 상태이다
  • null 은 false로 나태내어 짐
  • null은 포인터를 초기화할 때 사용되며, 의도적으로 사용되는 값
var love = null;
console.log(Boolean(love));

undefined

undefined 정의되지 않은 ⇒ 변수를 선언했지만 값이 할당되지 않은 상태

일종의 오류의 값

var unName;
console.log(unName);

reference

profile
프라다 신은 빈지노와 쿠페를 타는 꿈을 꿨다.

0개의 댓글