1일차 자바스크립트 스터디

1. 코드 구조

  • 줄바꿈시 암시적으로 세미콜론으로 해석한다 이걸 세미콜론 자동삽입이라 한다.
    • automatic semicolon insertion
    • 그러나 항상 줄바꿈이 세미콜론을 의미하지 않는다. 그 예로 연산자 뒤에 줄바꿈을 할 시, 세미콜론이 필요로 하지 않는 불안전환 표현식으로 판단해서, 세미콜론을 추가하지 않는다.
    • 대괄호 같은 곳 앞에 세미콜론를 생략할시, 에러가 발생하는데, 대괄호 앞에 세미콜론이 있다고 가정하지 않기 때문이다.
    • 그러므로 줄바꿈으로 문을 나눴더라도 세미콜론 삽입을 추천한다.

2. 엄격모드

  • "use strict" 자바스크립트 파일 최상단에 다음과 같이 선언을 하면 엄격모드가 실행된다.

    • 최상단에 위치 시키지 않으면 엄격모드가 실행되지 않는다.

    • 한번 엄격모드를 실행하면, 취소할 방법은 없다.

    • 브라우저가 오래되서 엄격모드를 실행하지 못할 시 래퍼로 감싸면 된다.

      function(){
          'use strict'
      }

3. 변수와 상수

3.1 변수

  • 변수(Variable)을 선언하는데에는 여러가지 방법이 있다.

    let message;
    message = 'hello';
    let message = 'user',
        age = '28',
        name = 'mmm';
  • 변수는 동일한 변수명으로 여러번 선언하지 못한다.

  • 병수 명명 규칙

    • 변수명에는 오직 문자와 숫자 그리고 기호 $_만 들어갈수 있다.
    • 첫글자는 숫자가 될수 없다.
  • 카멜 표기법을 사용한다.

  • 대소문자가 구별되고, 예약어는 선언할 수 없다.

  • 엄격모드가 없을시 let을 안해도 변수가 할당된다. 하지만 권장하지 않는다.

3.2 상수

  • 상수는 변화하지 않는 변수를 선언할떄 쓰인다.
  • const로 선언한다.
  • 상수로 선언할 경우 재할당 할 수 없으므로, 상수를 변경하다보면 에러가 발생한다.
  • 중요한 값들이나, 하드코딩한 값들의 별칭을 기억하기 쉽게 할려고 대문자로 선언한다.

3.3 바람직한 변수명

  • 변수명은 간결하고 명확해야한다.
  • 변수를 읽고 해당 변수가 어떠한 기능을 하는지 최대한 서술된 변수명을 사용하자
  • User 같이 단순한 User가 아니라 newUser oldUser와 같이 명시적으로 어떤 유저인지 구분이 가능하도록 변수를 선언하도록 하자.

4. 자료형

  • 자바스크릅티는 8가지 기본 자료형이 있다.
  • 자바스크립트는 자료의 타입은 있지만 변수에 저장되는 값의 타입이 언제든지 바뀔수 있다.
  • 위와 같은 특징을 가진 언어를 동적 타입 언어라고 한다.

4.1 숫자형

  • 숫자형은 정수와 부동소수점 숫자를 나타내며, Infinity,-Infinity,NaN와 같은 특수 숫자값 도 있다.
  • NaN은 계산 중에 에러가 발생했다는 것을 나타내주는 값으로, 부정확하거나 정의되지 않은 수학연산을 사용할때 나온다.
  • NaN값은 쉽게 변하지 않으므로, 뒤의 연산에도 영향을 끼쳐 NaN이 반환되는 경우가 많다.

4.2 BigInt

  • BigInt는 (2^53-1)보다 크거나 -(2^53-1)보다 작은 숫자형을 사용해야할 경우 쓰인다.

  • 쓰는방법은 정수리터럴 끝에 n을 추가해주면 된다.

    let bigInt = '1231486192486846198249812649819845734961093759123648789n'

4.3 문자형

  • 자바스크립트에서는 문자열을 따옴표로 묶을수 있는데, 총 세종류가 있다.
  • 작은따옴표('') 와 큰 따옴표("")는 일반적인 상황에서 사용된다.
  • 백틱 같은 경우 ${...}를 중간에 넣어주면, 변수나 표현식을 문자열 중간에 넣을수 있다.

4.4 불린형

  • 논리 타입은 truefalse를 나타낸다.

4.5 null 값

  • 보통 다른언어에서는 존재하지 않는 객체의 참조를 나타낼때 많이 쓰지만, 자바스크립트에서는 존재하지 않거나 비어있거나 알수 없는 값일때 사용한다.

4.6 undefined 값

  • 변수를 선언했지만 해당 변수에 값을 할당되지 않았을 때 자동으로 할당되는 값이다.
  • null과 비슷하지만, 변수가 비어있거나 알수 없는 상태를 나타낼때에는 null을 쓰고, undefined는 할당되지 않은 변수의 초기값에 쓰이게 두도록하자

4.7 객체와 심볼

  • 객체형은 다른 자료형과 달리 데이터 컬렉션이나 복잡한 개체를 표현할때 쓰인다.
  • 심볼형은 객체의 고유한 식별자를 만들때 사용된다.

4.8 typeof 연산자

  • 인수의 자료형을 반환하는데, 두가지 형태를 지원한다.

    typeof x
    typeof(x)
  • 두 형태다 결과가 동일하고, 인수의 자료형을 반환해준다.

    • 주의해야할 점
      • null 같은 경우 별도의 고유한 자료형을 가진 값이지만, 객체로 반환된다. 실제로 객체가 아니지만, 하위 호환성을 유지하기 위해서 유지되는 오류이므로 유의해야한다.
    • typeof의 인수가 함수이면 function을 반환한다.

1일차 소감

  • 기본자료형 중 null 값이 typeof시 objects를 반환하는지 몰랐다. BigInt형은 처음보았따.
  • 기초지만 하나하나 다시 공부해봐야겠다.

출처 : 모던 자바스크립트 튜토리얼

'프로그래밍언어 > Javascript' 카테고리의 다른 글

자바스크립트 공부 3일차  (0) 2021.02.26
자바스크립트 공부 2일차  (0) 2021.02.24
자바스크립트 공부 스타트  (0) 2021.02.19

+ Recent posts