< 프론트엔드 개발자를 위한 자바스크립트>(2013 인사이트, 한선용 옮김) 의 책을 요약한 내용으로 자바스크립트 제대로 배우기 스터디 그룹(페이스북) 의 글입니다.

1. 문법

  • ECMAScript 문법은 C와 비슷한 언어에서 차용했기 때문에 비슷한 문법이 많음
    * 대소문자를 구분함 (test와 Test는 다른 변수임)
    * 식별자는 관습적으로 카멜표기법을 씀 (*첫 번째 문자는 반드시 ‘a-Z’, ‘_’, ‘$’ 중 하나여야 한다.)
    • 주석은 C언어 스타일의 주석으로 표기한다. (// 또는 /*)
    • 스트릭트 모드
      • 기존과 다른 방식으로 자바스크립트를 파싱하고 실행하라는 명령
      • 모드를 적용하려면 "use strict"을 넣으면 된다.
    • 문장 끝에는 항상 세미콜론을 붙인다. (없어도 상관없지만 비추천)
    • 제어문은 항상 블록을 사용한다. (한줄 코드는 없어도 상관없지만
    • 변수
      • 모든 변수는 ‘var 변수이름’ var 연산자를 사용
      • 변수에는 어떠한 타입이든 넣을 수 있다.
      • 저장된 타입에 다른 타입을 바꿔서 넣는것도 가능하지만 비추천
    • 데이터 타입
      • typeof 연산자 : 데이터 타입을 알려줌
      • undefined 타입 : 초기화 하지 않은 변수에 할당되는 값
      • Null 타입 : 빈 객체를 가리키는 포인터 값
      • 불리언 타입 : true 또는 false 두가지 값만 가지는 타입
      • 숫자 타입 : 숫자 리터럴을 통해서 여러가지 숫자 타입을 나타냄. 기본 리터럴형식은 10진법
      • 문자열 타입 : 큰따옴표나 작은따옴표로 감싸서 표현함.
      • 객체 타입 : new 연산자를 사용해서 객체를 생성함
NaN (Not a Number) 
숫자를 반환할 것으로 실행한 조작이 실패할 경우 반환하는 값으로 에러가 아니다.
NaN값의 구분은 NaN == NaN 으로도 불가능하며 isNaN()함수로 판별할  있다.
 

2. 연산자

  • 자바스크립트의 연산자는 다른 언어에서 쓰임과 같기 때문에 생략합니다.

3. 문장 (제어문)

  • 제어문도 C언어의 형식을 그대로 사용하고 있어서 생략합니다.

4. 함수

  • 기본 문법
 function functionName(arg0, arg1, ... argN) {
 	statements
 }
 
  • 매개변수를 지정하지 않아도 매개변수를 넣어서 arguments[n] 으로 접근 가능.
  • return을 할땐 모두 값으로 넘김, 매개변수를 참조하는 형식으로 전달하지 못한다.
  • 오버로딩이 없다. 같은 이름의 함수를 선언하면 마지막에 선언한 함수를 사용하게 됨.