organize/자바스트립트

자바스크립트 5

001cloudid 2024. 12. 30. 17:20
728x90

객체

  • 객체(Object) 프로그램에서 인식할 수 있는 모든 대상
  • 자바스크립트에서는 웹 과 관련된 대상을 모두 객체로 인식
  • 자바스크립트의 객체
    문서 객체 모델(DOM)
    웹 문서 자체도 객체이고 그 안에 삽입되어 있는 이미지와 링크, 텍스트 필드 등도 모두 객체. 일반적으로 웹 문서에 삽입하는 document, image, link 객체 등

    브라우저 관련 객체(BOM)
    웹 브라우저에서 사용하는 정보를 객체로 나타냄
    사용하는 브라우저 정보를 담고 있는 navigator 객체를 비롯해 history, location, screen 객체 등

    내장 객체
    웹 프로그래밍을 할 때 자주 사용하는 요소는 자바스크립트 안에 미리 객체로 정의되어 있는데, 이를 내장 객체라고 함

 

객체의 인스턴스 만들기

  • 객체를 참조 형태로 사용해야 함. 객체가 아니라 인스턴스 형태로 만들어서 사용해야 함
    객체의 인스턴스를 만들 때는 new 예약어를 사용하고 new 뒤에 만들려고 하는 객체 이름
    new 객체명
    <script>
        // Date 객체의 인스턴스 만들기
        var date = new Date();
        document.write("현재 시각은 : " + date);
    </script>

 

프로퍼티와 메서드

  • 프로퍼티는 객체의 특징이나 속성
  • 메서드는 객체에서 할 수 있는 동작을 표현

 

마침표 표기법으로 프로퍼티와 메서드 작성

  • 인스턴스는 객체의 프로퍼티와 메서드를 그대로 물려받아 똑같이 사용
  • 프로퍼티와 메서드를 표시하려면 인스턴스명 뒤에 마침표를 붙이고 객체의 프로퍼티나 메서드 이름을 작성
    <script>
        // 로컬 형식으로 현재 시각 표시
        var now = new Date();
        document.write("현재 시각 toLocaleString() : " + now.toLocaleString());
    </script>

 

자바스크립트의 내장 객체

 

Array 객체

    <script>
        // Array 객체 인스턴스 만들기 초기값이 없는 경우
        var numbers = new Array(); // 배열의 크기를 지정하지 않음
        var numbers = new Array(4); // 배열의 크기를 지정

        var numbers = ["1","2","3","4"] // 배열 선언
        var numbers = Array("1","2","3","4"); // Array 객체를 사용한 배열 선언언
    </script>

 

Array객체의 메서드

    <script>
        // 배열끼리 합치는 concat()
        var nums = [1,2,3];
        var chars = ["a","b","c"];

        var numsChars = nums.concat(chars);
        var charsNums = chars.concat(nums);
        document.write(numsChars + "<br>");
        document.write(charsNums);
    </script>

    <script>
        // 배열 안의 요소 합치기 join()
        var nums = [1,2,3];
        var chars = ["a","b","c"];

        var string1 = nums.join();
        document.write(string1);
        document.write("<br>구분<br>")
        var string2 = chars.join('/');
        document.write(string2);
    </script>

    <script>
        // 새로운 요소를 추가하는 push(), unshift()
        var nums = [1,2,3];
        var ret1 = nums.push(4,5); // 배열 맨 끝에 새로운 요소를 추가
        document.write("배열의 길이 : " + ret1 + ", 배열의 요소 " + nums);
        document.write("<br>구분<br>")
        var ret2 = nums.unshift(0); // 배열 맨 앞에 새로운 요소 추가
        document.write("배열의 길이 : " + ret2 + ", 배열의 요소 " + nums);
    </script>

    <script>
        // 배열에서 요소 꺼내기 pop(), shift()
        var nums = [1,2,3];
        var rem1 = nums.pop(); // 마지막 요소를 꺼냄
        document.write("꺼낸 요소 " + rem1 + ", nums의 요소 : " + nums);
        document.write("<br>구분<br>")
        var rem2 = nums.shift(); // 1번째 요소를 꺼냄
        document.write("꺼낸 요소 " + rem2 + ", nums의 요소 : " +nums);
    </script>

    <script>
        // 원하는 위치에 요소를 추가, 삭제하는 splice()
        // splice() 메서드의 인수가 1개인 경우 요소 삭제
        var nums = [1,2,3,4,5];
        var newNums = nums.splice(2);
        document.write("반환된 배열 : " + newNums + " 변경된 배열 : " + nums);
    </script>

    <script>
        // splice() 메서드의 인수가 2개인 경우. 첫 번째 인수는 인덱스값, 두 번째 인수는 삭제할 요소의 개수
        var lang = ["html", "css", "js", "java"];
        var newLang = lang.splice(2,1);
        document.write("반환된 배열 : " + newLang + "변경된 배열 : " + lang);
    </script>

    <script>
        // splice() 메서드의 인수가 3개인 경우. 첫 번째 인수는 배열에서 삭제할 시작 위치, 두 번째 인수는 삭제할 개수, 세번째 인수는 삭제한 위치에 새로 추가할 요소 지정
        var lang = ["html", "css", "js", "java"];
        var newLang = lang.splice(1,1,"python");
        document.write("반환된 배열 : " + newLang + "변경된 배열 : " + lang);
    </script>

     <script>
        //기존 배열을 바꾸지 않으면서 요소를 꺼내는 slice()
        var color = ["black", "green", "yellow", "blue"];
        var color2 = color.slice(2) // 인덱스 값이 2인 요소부터 마지막 요소까지 꺼내기
        document.write(color2);
    </script>

    <script>
        // slice() 메서드의 인수가 2개인 경우 요소 꺼내기
        var color = ["black", "green", "yellow", "blue"];
        var color2 = color.slice(2,4); // 인덱스값이 2부터 3인 요소까지 꺼내기(두번째 요소의 인덱스)
        document.write(color2);
    </script>


Date 객체

  • 날짜와 시간 정보를 나타낼 수 있음
  • 현재 날짜와 시간을 출력하거나 달력을 표시할 수도 있고, 특정일까지 얼마나 남았는지 알려주는 등 사이트에서 여러가지로 응용할 수 있음
    <script>
        // Date 객체 인스턴스 만들기
        var date = new Date();
        document.write(date);
    </script>

    <script>
        // Date 객체로 특정 날짜 나타내기
        var date = new Date("2025-01-01"); // 월, 일이 한 자리일 때는 앞에 0을 붙이지 않고 2025-1-1로 작성해도 됨
        document.write("Date 객체로 특정 날짜 나타내기 " + date);
        document.write("<br>")
        // Date 객체로 특정 날짜와 시간 나타내기
        var date1 = new Date("2024-12-30T17:00:00");
        document.write("Date 객체로 특정 날짜와 시간 나타내기 " + date1);
    </script>

    <script>
        // 자바스크립트의 날짜, 시간 입력 방식 알아보기
        // YYYY 연도, MM 월, DD 일, HH 시간, MM 분, SS 초를 의미
        // 1. YYYY-MM-DD 형식
        new Date("2024");
        new Date("2024-12");
        new Date("2024-12-30");

        // 2. YYYY-MM-DDTHH 형식
        new Date("2024-12-30T17:00:00"); // 시간을 나타낼 때는 날짜뒤에 T를 붙이고 HH:MM:SS의 형태로 사용
        new Date("2024-12-30T17:00:00Z"); // 맨 끝에 Z를 붙이면 UTC(국제 표준시)로 표시

        // 3. MM/DD/YYYY 형식
        new Date("12/30/2024");

        // 4. 이름 형식
        new Date("TUE Dec 30 2024 17:00:00 GMT+0900 (대한민국 표준시)");
    </script>

 

Date 객체 메서드

날짜, 시간 정보 가져오기(get+) 날짜, 시간 정보 설정하기(set+)
FullYear() : 연도를 4자리 숫자로 표시 FullYear() : 연도를 4자리 숫자로 설정
Month() : 0~11 사이 숫자로 월을 표시. 0이 1월을 의미 Month() : 0~11 사이 숫자로 월을 설정. 0이 1월을 의미
Date() : 1~31 사이 숫자로 일을 표시 Date() : 1~31 사이 숫자로 일을 설정
Day() : 0~6 사이 숫자로 요일을 표시. 0은 일요일을 의미 Day() : 0~6 사이 숫자로 요일을 설정. 0은 일요일을 의미
Time() : 1970/1/1 자정 이후 시간을 밀리초로 표시 Time() : 1970/1/1 자정 이후 시간을 밀리초로 설정
Hours() 0~23 사이의 숫자로 시를 표시 Hours() 0~23 사이의 숫자로 시를 설정
Minutes() : 0~59 사이 숫자로 분을 표시 Minutes() : 0~59 사이 숫자로 분을 설정
Seconds() : 0~59 사이 숫자를 초로 표시 Seconds() : 0~59 사이 숫자를 초로 설정
Millisecond() : 0~999 사이 숫자로 밀리초를 표시 setMillisecond() : 0~999 사이 숫자로 밀리초를 설정
날짜, 시간 형식 바꾸기 toLocaleString() 현재 날짜와 시간을 현지 시간으로 표시
toString() Date 객체 타입을 문자열로 표시

Math 객체

  • 수학 계산과 관련된 메서드가 많이 포함
  • Date, Array 객체는 new 예약어로 객체의 인스턴스를 만든 후 프로그램에서 사용했지만, Math 객체는 인스턴스를 만들지 않음
  • Math.프로퍼티명
    Math.메서드명

Math 객체의 프로퍼티

  • E : 오일러 상수
  • PI : 원주율
  • SORT2 : 루트2
  • SORT1_2 : 1/루트2
  • LN2 : 로그e의 2
  • LN10 : 로그e의 10
  • LOG2E : 로그2의 e
  • LOG10 : 로그10의 e

Math 객체의 메서드

  • 수학과 관련된 함수의 결괏값을 반환
  • abs() : 절댓값을 반환
  • ceil() : 매개변수의 소수점 이하 부분을 올림
  • floor() : 매개변수의 소수점 이하 부분을 버림
  • log() : 매개변수에 대한 로그값
  • max() : 매개변수 중 최댓값을 반환
  • min() : 매개변수 중 최솟값을 반환
  • pow() : 매개변수의 지숫값을 반환
  • random() : 0~1 사이의 무작위 수를 반환
  • round() : 매개변수의 소수점 이하 부분을 반올림
  • sqrt() : 매개변수에 대한 제곱근을 반환
728x90

'organize > 자바스트립트' 카테고리의 다른 글

자바스크립트 7  (0) 2025.01.01
자바스크립트 6  (0) 2024.12.31
자바스크립트 4  (0) 2024.12.29
자바스크립트 3  (1) 2024.12.28
자바스크립트 2  (2) 2024.12.27