본문 바로가기
  • GDG on campus Ewha Tech Blog
3-1기 스터디/JavaScript

[1주차] 자바스크립트의 기본 문법

by dazzlynnnn 2021. 10. 11.

저희 스터디는 인프런 강의 김영보의 자바스크립트 바이블 시리즈로 스터디를 진행합니다!
자바스크립트 마스터를 목표로 삼고 커리큘럼으로 짜여 있는 네 강의들의 완강을 향해 힘차게 첫발을 내딛었습니다...😎

첫 주차인 만큼 복잡한 내용은 없었고, 그간 학교에서 다른 언어들을 배울 때와 마찬가지로 기본적인 문법들에 대해 공부했습니다!


 

주차 진도 강의시간(분) 기간
1주차 0. 자바스크립트 기본, 1. 기본 문법 79 21년 10월 1일 ~ 21년 10월 7일

 


 

JS 스펙이란?
→ 자바스크립트 문법을 작성한 문서
ES3, ES5는 JS 스펙의 에디션

 

문장

Statement

  • JS 코드 실행 단위
  • 세미콜론까지 하나의 문장
  • 들여쓰기는 일반적으로 2칸 or 4칸

변수

Variable

  • 값을 저장하는 영역
  • 변수에 저장된 값의 재사용
  • 선언 및 할당
var book = "책";
var pen = "책", point = 123;
var note = "공책", camera = "카메라";

 

💡 이처럼 의미를 부여하여 변수명을 짓는 것을 시맨틱이라고 한다.

주석

Comment

// 한 줄 주석
// 확장성을 위해 코드 윗줄에 작성
var book = "책";

/*
블록 주석
일반적으로
4-5줄 이상을
주석으로 처리할 때
*/

console.log()

  • 파마리터값을 브라우저 콘솔 창에 출력
  • 콤마로 구분하여 다수 작성 가능
  • JS가 아닌 console API에서 제공하는 함수

정수, 실수, 숫자 처리

  • JS는 정수와 실수를 구분하지 않음 → 0.12 + 5 가능
    (ES6에 구분 추가)
  • 1, 1., 1.0 모두 1.0으로 간주, 1로 표시

상수

Constant

  • 변경할 수 없는 값
💡 상수 변수
      - 상수가 설정된 변수
      - 변수는 값을 변경할 수 있으므로 상수 변수는 '선언적 의미' (상수로 사용한다는 시맨틱 선언)
      - 영문 대문자 사용 ex) var ONE = 1;
  • JS가 제공하는 상수값은 변경 불가
    ex) MAX_VALUE, MIN_VALUE 등

진수

Digit

  • 10진수
  • 16진수 - 대소문자 구분 x
    • 0x → 16진수를 나타내는 값
    • 0xf = 15 (a:10 ... f:15)
    • 0xff = (16*15) + (15)
    • 0xfff = (16_16_15) + (16*15) + (15)
    • ...
  • 8진수 - ES3에서 폐지, ES6에서 재정의
  • 2진수 - ES6에서 특별한 방법 제공

자료형

Data Type

언어 타입

  • JS 프로그램에서 사용할 수 있는 타입
    ex) string, number, boolean, undefined → primitive 타입
          + null, object
  • JS에서는 변수 선언할 때 타입 직접 지정 필요 x
💡 typeof 연산자
      typeof는 특별한 기능을 가진 단어로, 키워드라고 부름
console.log(typeof 123); // number
console.log(typeof "book"); // string

 


1. number : 부호를 가진 값

💡 특수한 number 3개
      Infinity : 양수 무한대
      -Infinity : 음수 무한대
      NaN : Not-a-Number
var point = 1 * "A";
console.log(point); // NaN​

 

2. string : "" 또는 '' 사이에 작성

3. undefined : 변수의 dafault 값

  • 변수에 값을 할당하지 않은 것을 나타내는 시맨틱
  • var point; 하면 변수를 선언만 한 것으로 undefined가 초기값으로 설정
  • undefined 자체가 값이므로 변수에 할당 가능하지만, 초기값인지 값을 할당한 것인지 구분이 되지 않으므로 대신 null을 사용한다.

4. null : undefined와 다르게 직접 할당해야 null이 됨

  • 의도적으로 값을 할당한 것으로, 코드를 수행한 것이 된다.
  • 설계 미스로 typeof null이 object라고 뜸 → ES6에서 해결

5. boolean : true / false

6. object : {name: value} 형태

  • 프로퍼티 : name-value쌍 하나를 지칭
  • → object는 프로퍼티 집합

스펙(문서) 타입

  • 언어 알고리즘을 위한 타입으로 JS 프로그램에서 사용 불가
  • ex) reference, list, completion, property descriptor, data block, lexical environment, lexical record 등

댓글