Home

[JS] 모던 자바스크립트 입문 4 ~ 5장

modern-javascript

모던 자바스크립트 입문

아소 히로시 지음, 서재원 옮김

길벗

간만에 주말에 책 펴놓고 공부 시전. 자바스크립트 기초에 해당하는 부분이라 쓱쓱 보고 넘어 갔다. 보다가 어 이런것도 있었네 하는 부분과 알지만 중요한 부분을 기록해 둔다.

  • 4.객체와 배열, 함수의 기초

    • 4.1 객체의 기초
    • 객체에 포함된 데이터를 가리켜 프로퍼티라 한다.
    • 프로퍼티에 저장된 값의 타입이 함수일 경우 이는 메서드라 한다.
    • 객체에 없는 프로퍼티를 읽을 경우 undefined 리턴
    • 객체는 참조 타입, 객체 타입의 값을 변수에 대입하면 해당 변수에는 메모리의 위치가 기엄됨.
    • 4.2 함수의 기초
    • 함수 이름은 일반적으로 동사 또는 동사 시작어휘로 만든다.
    • 인수에 원시값을 넣으면 그 값 자체가 인자로 전달 되지만, 인수로 객체를 넘길 경우 전달 되는 값은 참조값이다. 함수의 인수로 객체를 넘기면 함수 안에서 원래의 객체를 변경 할 수 있다.
    • letconst

      • 사용법은 var와 같으나 변수의 유효 범위는 블록 안으로 한정.
      • let문으로 선언된 변수는 호이스팅 되지 않는다.
      • let문으로 똑같은 변수 선언시 문법 오류 발생.
      • constlet과 사용법은 같으나 반드시 초기화 해야 하는점이 다름.
      • const로 선언한 상수값은 수정할 수 없으나, 상수값이 객체나 배열일 경우 프로퍼티 또는 프로퍼티 값은 수정할 수 있다.
    • 일반적으로 메서드는 메서드가 속한 객체의 내부 데이터 상태를 바꾸는 용도로 사용.
    • 함수를 활용하면 얻을 수 있는 이점.

      • 재사용 할 수 있다.
      • 이해가 쉽다.
      • 유지보수가 편해진다.
    • 4.3 생성자
    • new 연산자를 이용해 객체를 생성할 것이라 기대하고 만든 함수를 생성자라한다.

      // 생성자 예시
      function Card(suit, rank) {
      this.suit = suit;
      this.rank = rank;
      }
    • 4.4 내장 객체 (생략)
    • 4.5 배열의 기초
    • length 프로퍼티

      • length 프로퍼티에 현재의 배열 요소 개수보다 작고 0보다 큰 정수값을 대입하면 배열의 길이가 줄어듬. 즉, 배열 길이를 넘는 인덱스는 삭제됨.
      • 배열 길이보다 큰 정수값을 대입하면 새로운 요소가 추가되지는 않고 length 프로퍼티 값만 변경된다.
    • 배열은 객체이다.
  • 5.표현식과 연산자

    • 5.1 연산자 (생략)
    • 5.2 산술 연산
    • 정수끼리 나누어도 결과가 부동소수점이 된다. (c 나 java에서는 정수로만 나옴)
    • 나머지 연산자 %의 피연산자는 부동소수점이다.
      • 연산자는 피연산자 중 하나가 문자열이면 나머지 피연산자를 문자열로 만든다.
    • 계산할 수 없으면 NaN로 평가,
    • 5.3 문자열 제어하기
    • 래퍼 객체(wrapper object)

      • 문자열은 객체가 아니므로 프로퍼티를 가지고 있지 않다. 하지만 length 프로퍼티를 가지고 있는데 이는 length를 호출하는 시점에는 String 객체로 변환된다. 이러한 객체를 가리켜 래퍼 객체(wrapper object)라고 한다. 자바스크립트에서는 원시 값을 처리할 때 원시 값을 래퍼 객체로 자동 변환 한다.
      • 문자열은 string, 숫자는 number, 논리값은 boolean 객체로 변환
      • null과 undefindd는 래퍼객체가 없다.
    • 자바스크립트에서 문자열은 불변(immutable)이다. replacetoUpperCase 메소드 등은 새로운 문자열을 반환하며 메서드를 호출한 문자열은 수정하지 않는다.
    • 5.4 논리연산자와 관계연산자 (생략)
    • 5.5 비트 연산 (생략)
    • 5.6 기타 연산 (생략)

이 코드는 모던 자바스크립트 입문(徹底マスターJavaScriptの教科書) 에서 인용한 것입니다.
[ISBN #978-4797388640]. Copyright 2017 by 磯博

Loading script...