[JavaScript] JavaScript 의 객체와 배열

정은아·2022년 9월 24일
0

 . JavaScript 의 객체와 배열

   : 실세계의 객체들을 다룰 수 있도록 자바스크립트에 객체 개념이
     도입되었다. 객체의 고유힌 속성을 property라고 부르며
     객체는 여러 property와 값의 쌍으로 표현된다.
     또한 객체는 여러개의 함수를 가질 수 있는데 함수를 method라고
     부른다. 메소드는 다른 객체나 코드로 부터 호출되며, 
     주로 객체 내부의 프로퍼티 값을 조작하거나 연산을 수행하고
     결과를 리턴한다.

  . 자바 스크립트 객체 유형
    : 개발자가 자바스크립트 코드로 객체를 만들어 사용할 수 있지만
      브라우저는 많은 자바스크립트 객체를 만들어 제공하므로 이들을 
      사용하기만 하면 된다. 브라우저가 제공하는 자바스크립트 객체는
      다음의 3가지 유형으로 나뉜다.

      . 코어 객체 : 기본 객체로서 Array, Date, String, Math 타입등이
                  있으며, 웹 페이지나, 웹 서버 응용프로그램 어디서나 사용할 수 있다.

***   . HTML DOM 객체 : HTML 페이지에 작성된 HTML 태그들을
                       브라우저가 하나씩 객체화 한(DOM : Document Object Model) 것들로
		       HTML 페이지의 내용과 모양을 제어하기 위해 사용되는 객체들이다. 
		       //태그 자체를 object(객체)로 본다.

      . 브라우저 관련 객체(BOM) : 브라우저의 종류나, 스크린의 크기 정보를 제공하거나
                              새 윈도우를 생성하는 등 브라우저와 관련된 객체들로
			      BOM(Browser Object Model)이라고 부른다.

  . 코어 객체 종류

  : 코어 객체들은 자바 스크립트 언어가 실행되는 어디서나 사용 가능한
    객체들로서 여러 타입이 있다.

  : 코어 객체의 생성은 항상 new 키워드를 사용한다.

   var  today = new Date();

   var  msg   = new String("Hello");

   여기서 today, msg 는 생성된 객체를 가르키는 레퍼런스 변수이다.
   이것을 객체라고 부른다.

 . 객체의 접근
   
   : 객체가 생성되면 객체 내부에는 프로퍼티와 메소드가 존재하며
     이들은 점(.) 연산자를 이용하여 접근한다.

     obj.프로퍼티 = 값;         => 객체 obj의 프로퍼티 값 변경
     변수 = obj.프로퍼티;        => 객체 obj 의 프로퍼티 값 알아내기, 변수에 대입
     obj.메소드(매개변수,,,);    => 객체 obj 의 메소드 호출

. Array

  : 배열 : 배열은 여러개의 원소들을 연속적으로 저장하고
          전체를 하나의 단위로 다루는 데이터 구조이다.
	  배열의 각 원소는 []기호와 0에서 시작하는 
	  인덱스를 이용하여 접근한다.

. 배열 만드는 방법

  1. []로 배열 만들기

  2. Array 객체로 배열 만들기
    
    : 만드는 방법은 다르지만 일단 배열이 생성되면
      사용하는 방법은 같다.

      var week = ["월","화","수","목","금","토","일"];
      var plots = [-20, -5, 0, 15, 20];

      week[6] = "Sunday"; => week[6] 의 값을 "일"에서 "Sunday"로 변경
       var p = plots[1];  =>  p는 -5

. 배열 크기와 원소 추가

  : 배열은 처음 만들어진 크기로 *고정되지 않고*(자바와 차이점), 원소를 추가하면 늘어 난다.

    plots[5] = 33;
    plots[6] = 77;

. Array로 배열 만들기
   
   : 자바스크립트의 코어 객체인 Array를 이용하여 배열을 생성할 수 있으며 
     앞의 week배열을 Array를 이용하여 배열을 만들면

     var week = new Array ("월","화","수","목","금","토","일");로 된다.

     var week = ["월","화","수","목","금","토","일"];

      var day = week[0];   => day는 "월"
      week[1] = "tuesday"; => "화" 대신 "tuesday"가 저장


   . 비어있는 배열 생성
     
     : 초기에 배열의 원소 갯수를 예상할 수 없는 경우
       빈 배열을 생성할 수 있다.

       var week = new Array();

       week는 빈 배열이지만 원소를 *순서대로* 삽입하면
       배열의 크기가 자동으로 늘어난다.
       반드시 인덱스는 순서대로 삽입하여야 한다.

   . 배열 생성 방법                            의미

       new Array();                         빈 배열 생성 추가할 때 마다 배열 크기 자동 늘림
       
       new Array(size);                     size 갯수의 배열 생성, 원소 초기화 되지 않음

       new Array(e1, e2, ~, en)             n개의 원소에 대한 초기값과 함께 배열 생성


   . 배열의 특징

     : 자바스크립트의 배열은 []로 생성하든 new Array()로 생성하든 모두 Array() 객체로 다룬다.
       그러므로 모두 아래의 Array 객체 메소드를 사용할 수 있다.

       또한 배열은 다양한 데이터가 혼재되어 저장할 수 있다.

       메소드                       의미

       concat(arr)               현재 배열에 배열 arr 원소들을 덧붙여 만든 새 배열

       join(separator)           배열의 모든 원소들을 연결하여
                                 하나의 문자열로 만들어 리턴, 각 원소 사이에 
								 separator 로 지정된 문자열 삽입, separator 가
								 생략되면 ','가 사용

       reverse()                 원소들을 역순으로 재배열하고 이를 복사한 새로운 배열 리턴

       slice(idxA[,idxB])        두 인덱스 idxA와 idxB 사이의 원소들로 구성된 
                                 새 배열 리턴, idxB의 원소는 포함되지 않음
								 idxB가 생략되면 끝 원소까지 포함

       sort()                    문자열을 사전순으로 정렬하고 이를 복사한 새 배열 리턴

       toString()                원소들을 모두 연결하여 하나의 문자열로 만들어 리턴, 원소와 원소사이','삽입


. Date

 : Date 객체는 시간 정보를 담는 객체이다.

   var now = new Date() ; => 현재 날짜 시간(시,분,초)값으로 초기화된 객체 생성





      

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글