[Beginner] 1. 기본 문법

dayhun🌞·2022년 9월 11일

1. 변수

: 값을 저장하는 영역으로 변수에 저장된 값의 재사용을 위해 사용한다.

// , 를 사용하여 다수를 선언할 수 있음
var book = '책', point = 123;
var book = '책', 
    point = 123;

시맨틱

  • 의미를 부여하여 변수 이름을 작명해야한다.
  • 변수 이름은 포괄적이지 않고 구체적일 수록 좋다.
var point = 123;
point = 789;
// JS는 왼쪽에서 오른쪽으로 처리하기 때문에, point는 789가 된다.

2. 주석

// 한 줄 주석

/* 블록 주석
(여러 줄)
*/

3. 정수, 실수

  • 정수 : 소수가 없는 숫자
  • 실수 : 소수를 가진 숫자

JS는 정수, 실수를 구분하지 않음
JS ES6에 정수, 실수 구분 추가

console.log(1); // 1
console.log(1.); // 1
console.log(1.0); // 1
console.log(1.00001); // 1.00001

4. 상수, 진수

  • 상수 : 변경할 수 없는 값
  • 상수변수 : 상수가 설정된 변수로, JS는 변수의 값을 변경할 수 있으므로, 상수변수는 선언적 의미이다.
  • 상수 변수 표기 방법
    • 상수로 사용하니 바꾸지 말라는 의미로 영문 대문자를 사용한다. (상수로 사용한다는 시맨틱 선언)
// ONE 변수를 대문자로 선언한 것은 상수라는 것을 나타내기 위한 것이므로 바꾸면 안됨.
var ONE = 1;
// 그냥 선언일 뿐이지, JS는 아래처럼 값을 바꿀 수 있음.
ONE = 2;
console.log(ONE); // 2
  • JS가 제공하는 상수값은 변경 불가

    • MAX_VALUE
    • MIN_VALUE
  • 진수

    • 10진수 : 123
    • 16진수 : 0xFF = 255
      // A:10 B:11 C:12 D:13 E:14 F:15
      console.log(0xf); //15
      console.log(0xff); // 255 -> 16*15 + 15
      console.log(0xfff); // 4095 -> (16*16*15) + (16*15) + 15
    • 8진수 : ES3에서 폐지, ES6 재정의
    • 2진수: ES6에서 특별한 방법 제공

5. 데이터 타입 (자료형)

  • typeof 연산자 : 데이터(값) 타입 반환
var point = 123;
var book = '책';
console.log(typeof(point)); // number
console.log(typeof(book)); // string

Number 타입

  • 부호(+,-)를 가진 값
  • NaN: Not a Number (숫자가 아닌 것을 나타내는 값)
var point = 1*'A'
conosole.log(point); // NaN 
  • Infinity: 양수 무한대
  • -Infinity: 음수 무한대

String 타입

  • 문자타입으로 "" 또는 ''사이에 작성
  • 따옴표에 숫자를 작성하면 문자형이 된다.

Undefined 타입

  • 변수의 default 값
  • 변수에 값을 할당하지 않은 것을 나타내는 시맨틱
  • JS는 반드시 이름과 값을 가져야한다.
// 변수를 선언만 했기 때문에 undefined가 초기값으로 설정된다.
var point;
console.log(point); // undefined
  • 변수에 undefined를 할당해줄 수 있다.
  • 하지만 초기값인지 값을 할당한 것인지 구분이 되지 않으므로 권장하지 않는다.
  • 이럴 경우에는 null을 할당한다.
var point = undefined;
console.log(point); // undefined

Null 타입

  • null과 undefined 차이
    • undefined는 단지 변수만 선언해도 가질 수 있지만, null은 의도적으로 할당해야 된다.
      var book;
      var point = null;
      console.log(book); // undefined
      console.log(point); // null

Boolean 타입

  • true / false

Object 타입

  • { name : value } 형태
  • 프로퍼티(Property) : name과 value 하나를 지칭
  • 즉, Object는 프로퍼티의 집합이다. (0개 이상의 프로퍼티 작성)
// book Object에 프로퍼티1(title: '책'), 프로퍼티2(point: 123) 
var book = {
    title: '책', point: 123
};
console.log(book); // {title: 책, point: 123}

주의

  • null의 type은 object이다.
console.log(typeof null); // object
console.log(typeof {book: '책'}); // object
profile
아기 개발자

0개의 댓글