#1. 데이터 (data)

1. 기본 데이터

1) 비트(Bit)

  • 컴퓨터가 나타내는 데이터의 저장 최소 단위로서 2진수 값 하나를 저장할 수 있는 메모리 공간을 의미한다.

2) 바이트(Byte)

  • 데이터 처리 또는 문자의 최소 단위로서 8개의 비트가 모여 하나의 바이트가 구성된다.

※ 글자를 표현하기 위한 2진수의 조합 방법을 encoding(캐릭터셋) 이라고 하고, 2진수 집합을 몇 개씩 묶어서 해석할지 결정하는 것을 데이터 타입 이라고 한다.

 

2. 컴퓨터의 저장 단위

  • 1 Bit (2개의 정보, 0과 1)
  • 1 Byte ( == 8 Bit, 컴퓨터의 최소 용량 단위)
  • 1 Kilobyte ( == 1024 Byte)
  • 1 Megabyte ( == 1024 Kilobyte)
  • 1 Gigabyte ( == 1024 Megabyte)
  • 1 Terabyte ( == 1024 Gigaabyte)
  • 1 Petabyte ( == 1024 Terabyte)
  • 1 Exabyte ( == 1024 Petabyte)
  • 1 Zettabyte ( == 1024 Exabyte)
  • 1 Yotabyte ( == 1024 Zettabyte)

 

3. 오버플로우

  • 데이터가 표현 가능한 범위를 초과하여 맨 처음 값으로 회귀하는 현상
  • 최댓값에 +1 을 하면 최솟값이 되고, 최솟값에 -1 을 하면 최댓값이 된다.

표현 가능범위 9999가 넘어가면 0000으로 돌아간다

 

#2. 변수 

1. 변수(Variable)란?

  • 데이터를 저장할 수 있는 메모리(RAM) 상의 공간
  • 사용 시 가독성이 좋아지고, 재사용성 증가로 인한 코드량 감소/유지보수 용이
  • 메모리에 값을 기록하려면 변수부터 만들어야 한다.

 

2. 변수의 명명 규칙

  • 대소문자를 구분하고, 길이 제한은 없다.
  • 예약어를 사용하면 안 된다.(String, true 등등)
  • 숫자로 시작하면 안 된다. (sample1은 가능하지만 1sample은 안된다)
  • 특수문자는 _ 와 $ 만 가능하다.
  • 여러 단어 이름을 결합하여 지정할 경우
    • 스네이크 표기법 : 언더바 ( _ )를 사용. ex) hello_world (변수 정의할 때는 잘 사용되지 않는다)
    • 카멜 표기법(낙타등 표기법) : 첫 글자를 대문자로 사용. ex) helloWorld (거의 대부분 일반적으로 사용한다)

 

3. 변수의 선언과 할당

1) 변수의 선언

  • 컴퓨터 메모리(RAM)상에 데이터를 기록하기 위해 공간을 예약하고 그 공간을 식별할 수 있는 이름을 지정하는 처리
  • 변수 이름 앞에 var, let, const 키워드를 사용해서 선언한다.
  • 하나의 구문이 끝나면 세미콜론 ( ; ) 을 입력한다. (자바스크립트는 세미콜론을 안 붙여도 된다)
let 변수이름;

 

2) 값의 할당

  • 선언된 변수에 대입연산자 ( = ) 를 사용하여 값을 대입하는 처리를 할당이라고 한다.
  • 항상 오른쪽에서 왼쪽으로 값이 대입된다.
변수이름 = 값;
  • 변수를 선언하면서 값을 할당까지 한 번에 처리할 수 있다.
let 변수이름 = 값;
  • 한 번 값이 할당된 변수는 다른 값으로 새롭게 할당이 가능하다.
let example = 100;
console.log(example); // 100

exmaple = 200;
console.log(example); // 200

(최종적으로 example 변수 안에는 200이라는 숫자가 대입된 상태이다.)

 

3) 변수의 선언 키워드

  • var
    • var 키워드를 사용하면 선언된 변수의 재선언이 가능하다. (원칙적으로 한번 선언한 변수는 재선언이 안돼야 한다)
    • 이러한 특성은 일반적인 프로그래밍 언어의 규칙에 위배되므로 var 키워드는 사용하지 않는 것이 좋다.
var example = 123;
console.log(example); // 123

var example = 456;
console.log(example); // 456

(위와 같이 example 변수를 선언했음에도 중복 선언이 가능하다.)
(같은 이름의 변수 안에 2개의 값이 대입된 상태)

 

  • let
    • ES6 버전에서 새로 추가된 변수 생성 키워드이다.
    • 대부분 프로그래밍 언어에서 말하는 일반적인 변수의 생성 규칙을 따른다.
    • var 키워드와 비슷하지만, 변수의 중복 선언이 안된다.
let example = 123;
console.log(example); // 123

let example = 456; // 에러

SyntaxError: Identifier 'example' has already been declared

example이 이미 선언되었다는 문법 에러가 나온다.

 

  • const
    • 상수를 선언할 때 사용하는 키워드
    • 최초로 값을 할당한 후에 값을 변경할 수 없다 (=읽기전용)
    • 선언과 동시에 값이 할당되어야 한다
    • 상수를 선언할 때는 대문자를 사용하고, 스네이크 표기법을 사용하는것이 일반적이다.
    • let과 함께 ES6 버전부터 추가되었다.
const MY_EXAMPLE = 123;
console.log(MY_EXAMPLE); // 123

MY_EXAMPLE = 456; // 에러

TypeError: Assignment to constant variable.

상수 변수에 할당했다는 타입에러가 나온다

 

4. 변수의 자료형 (데이터 타입)

1) 변수에 저장할 수 있는 값의 종류

  • 자바스크립트의 데이터 타입은 변수에 값을 할당(대입) 할 때 결정된다.
타입 설명
number 정수와 실수를 포함하는 모든 숫자 형태
string 문자열, 쌍따옴표나 홑따옴표로 감싼 모든 데이터 형식
boolean 논리형. true(참) / false(거짓)
object 객체. 함수(function), 배열(array), 날짜(Date), 정규식(RegExp) 등을 포함
null object의 한 종류, 나중에 할당하기 위해 임의로 비워놓은 상태를 의미하는 특수한 값
undefined 정의되지 않음. 선언만 하고 값이 할당되지 않은 상태

 

2) 변수의 자료형 확인하기

  • 자바스크립트에서 변수의 자료형을 확인하려면 typeof 연산자를 사용해야 한다.
let example1 = 123;
console.log(typeof example1); // number (숫자)

let example2 = true;
console.log(typeof example2); // boolean (논리값 - true/false)

let example3 = "hello World";
console.log(typeof example3); // string (쌍, 홑따옴표로 감싼 경우 문자열로 인식)

let example4 = new Date();
console.log(typeof example4); // object (객체)

let example5 = null;
console.log(typeof example5); // object (비어있는(=아무런 기능이 없는 상태) 객체)

let example6
console.log(typeof example6); // undefined (선언만 하고 값이 정의되지 않은 상태)

+ Recent posts