본문 바로가기
Java Script

Java Script-내장 객체 1 (Number, String, Array)

by Hrin_0820 2020. 9. 22.

변수는 데이터 값을 하나밖에 저장하지 못하지만, 객체는 데이터 값을 필요한 대로 만들어 사용할 수 있다.

객체의 데이터는 '이름: 값'의 쌍으로 이루어 있으며 이것을 속성(Properties)이라고 한다.

 var 변수 = { name: '홍길동', age: 20, nationality: '한국', ... };

변수에 {이름: 값, 이름: 값,...}의 형태로 저장이 되면 변수는 객체가 된다.

객체의 분류 종류 설명
사용자 정의 객체  - 객체 리터럴
 - 객체 생성자 함수
 - 클래스( ECMAScript 2015(ES6) )
사용자가 직접 정의해서 사용하는 객체
내장 객체  - Number
 - String
 - Array
 - Math
 - Date
 - RegExp
 자바스크립트에서 제공해 주는 객체

< 내장 객체 >

1. Number 객체

▶ Number 객체 생성 방법

 var num = new Number(10);  var num = 10;

▶ Number 객체 주요 메서드

메서드 설명
toFixed( )  toFixed(n)일 때 n값만큼 소수점 자릿수를 만든다. ( 자릿수 이전 값은 반올림 )
toString( )  toString(n)일 때 n값의 진수로 만든다.
    <script>
        // toFixed( )
        var num = 328.575;
        console.log(num);
        console.log('정수 : '+ num.toFixed());
        console.log('소수점 1의 자리 : '+ num.toFixed(1));
        console.log('소수점 2의 자리 : '+ num.toFixed(2));
        
        //toString( )
        var num1 = 12;
        console.log(num1);
        console.log('2진수 : '+num1.toString(2));
        console.log('16진수 : '+num1.toString(16));
    </script>

출력 이미지

2. String 객체

▶ String 객체 생성 방법

 var str = new String('자바스크립트');  var str = '자바스크립트';

▶ String 객체 프로퍼티

프로퍼티 설명
length 문자열의 개수 취득

▶ String 객체 주요 메서드

문자열 J a v a s c r i p t
index 번호 0 1 2 3 4 5 6 7 8 9
메서드 설명
charAt( ) charAt( n )인 경우 n과 같은 index 번호 문자 반환
indexOf( ) indexOf('a')인 경우 'a'를 왼쪽 문자부터 검색하여 일치하는 index 번호를 반환
lastIndexOf( ) lastIndexOf('a')인 경우 마지막 'a'를 오른쪽 문자부터 검색하여 일치하는 index 번호를 반환
includes( ) includes('str')인 경우 해당 문자열에 'str' 문자를 포함하고 있으면 true를 반환
substring( ) substring( 4, 9 )인 경우 문자열의 index 번호 4번부터 index 번호 9번 이전까지의 문자 반환
substr( ) substr( 4, 6 )인 경우 문자열 index 번호 4번부터 6개의 문자 반환
split( ) split( ' ' )인 경우 ' '(공백) 문자를 기준으로 문자열을 분할하고 분할한 문자열들을 배열로 생성
replace( ) replace( 'x', 'y' )인 경우 'x' 문자를 'y' 문자로 변경
concat( ) 문자와 문자를 연결
trim( ) 문자열의 앞 뒤 공백 제거
toLowerCase( ) 소문자로 변경
toUpperCase( ) 대문자로 변경
    <script>
        // String 객체 프로퍼티
        var str = 'Javascript'
        console.log('str 문자열의 개수 : '+str.length);
        // charAt( )
        console.log('index 0번 문자열 : '+str.charAt(0)); 
        //indexOf( )
        console.log('왼쪽 문자부터 검색하여 a가 있는 index 번호 : '+str.indexOf('a'));
        //lastIndexOf( )
        console.log('오른쪽 문자부터 검색하여 a가 있는 index 번호 : '+str.lastIndexOf('a'));
        // includes( )
        console.log('script 문자가 포함되어 있나? '+str.includes('script'));
        // substring( )
        console.log('index 2 ~ index 6의 문자열 : '+str.substring(2,6));
        // substr( )
        console.log('index 2부터 6개 문자열 : '+str.substr(2,6));
        // split( )
        var str1 = 'Javascript_jQuery'
        var division = str1.split('_');
        console.log('index 0 : '+division[0]+', index 1 : '+division[1]);
        // replace( )
        var str2 = 'm_out.gif';
        console.log(str);
        console.log('out을 over로 바꿔준다 : '+str.replace('out', 'over'));
        // concat( )
        var str1 = 'nav';
        var str2 = '_bg';
        console.log('str1 + str2 : '+str1.concat(str2));
        // trim( )
        var str = '  removeblank  ';
        console.log('공백 지우기 : '+str.trim());
        // toLowerCase( ), toUpperCase( )
        var str = 'LowerCase';
        console.log('소문자로 '+str.toLowerCase());
        var str = 'UpperCase';
        console.log('대문자로 '+str.toUpperCase());
    </script>

출력 이미지

3. Array 객체

Array 객체는 '객체 리터럴(Object literal)'처럼 변수에 데이터 값을 필요한 대로 저장할 수 있다. Array 객체는 저장된 값에 자동으로 index를 부여한다.

▶ Array 객체 생성 방법

 var subject = new Array(10, 20, 'javascript', 'jQuery', ...);  var subject = [ 10, 20, 'javascript', 'jQuery', ... ];
index 0 1 2 3 . . .
10 20 'javascript' 'jQuery' . . .

▶ Array 객체 프로퍼티

프로퍼티 설명
length 배열의 개수 취득

▶ Array 객체 주요 메서드

* 표시가 붙은 메서드는 배열에 직접 영향을 주는 메서드입니다.

메서드 설명
slice( ) slice( 0, 3 )인 경우 배열 index 0번부터 index 2번 이전까지의 배열 반환
slice( 2 )처럼 매개변수 값이 하나만 있는 경우 index 2번과 이후 모든 배열 반환
join( ) join('-')인 경우 배열의 요소들을 '-'로 연결한 문자로 반환
concat( ) 배열 연결
toString( ) 배열을 문자로 변환
shift( ) * 첫번째 배열 삭제
unshift( ) * 첫번째 배열 추가
pop( ) * 마지막 배열 삭제
push( ) * 마지막 배열 추가
splice( ) * 지정된 부분의 배열을 추가, 삭제, 변경
reverse( ) * 배열의 순서를 바꿈
sort( ) * 배열을 오름차순으로 정렬
    <script>
        // Array 객체 생성
        var alphabet = ['a', 'b', 'c', 'd', 'e'];
        console.log(alphabet);
        // Array 객체 프로퍼티 : 개수 취득
        console.log(alphabet.length);
        // slice( )
        console.log(alphabet.slice(0,3)); // index 0 ~ index 3의 배열
        console.log(alphabet.slice(2)); // index 2번과 이후의 모든 배열
        // join( )
        console.log(alphabet.join('-')); // '-'로 연결한 문자로 반환
        // concat( )
        var alphabet1 = ['a', 'b', 'c'];
        var alphabet2 = ['d', 'e'];
        console.log(alphabet1.concat(alphabet2)); // 배열 연결
        // toString( )
        console.log(alphabet.toString()); // 배열을 문자로 반환
        // shift( )
        alphabet.shift(); // 첫번째 배열 삭제
        console.log(alphabet);
        // unshift( )
        alphabet.unshift('a'); // 첫번째 배열 'a' 추가
        console.log(alphabet);
        // pop( )
        alphabet.pop(); // 마지막 배열 삭제
        console.log(alphabet);
        // push( )
        alphabet.push('e'); // 마지막 배열 'e' 추가
        console.log(alphabet);
        //splice( )
        var alphabet1 = ['a', 'b', 'c', 'd', 'e'];
        alphabet1.splice(1, 0, 'f'); 
        	// index 1번 배열부터 0개를 삭제(없음)하고, 'f' 추가 
        console.log(alphabet1);
        
        var alphabet2 = ['a', 'b', 'c', 'd', 'e'];
        alphabet2.splice(1, 1); // index 1번 배열부터 1개 삭제
        console.log(alphabet2);
        
        var alphabet3 = ['a', 'b', 'c', 'd', 'e'];
        alphabet3.splice(1, 1, 'f'); // index 1번 배열부터 1개 삭제('b')하고, 'f' 추가
        console.log(alphabet3);
        
        var alphabet4 = ['a', 'b', 'c', 'd', 'e'];
        alphabet4.splice(0, 3, 'f', 'g', 'h'); 
        	// index 0번 배열부터 3개 삭제('a', 'b', 'c')하고, 'f', 'g', 'h' 추가
        console.log(alphabet4);
        // reverse( )
        var alphabet = ['a', 'b', 'c', 'd', 'e'];
        console.log(alphabet.reverse()); // 배열의 순서를 바꿔줌
        //sort( )
        var info = [45, 11, 7, 32, 20, 19];
        info.sort(function(a, b){
            return a - b; 
        }); // 오름차순으로 정렬
        console.log(info.toString());
    </script>

출력 이미지

for... of 문 : 배열의 값을 쉽게 취득할 수 있다.

for...in 문 for...of 문
for...in문의 i 변수는 city 배열의 index이다. for...of문의 i 변수는 city 배열의 이다.
    <script>
        var city = ['서울', '대구', '대전', '부산'];
        for ( var i in city ) {
            console.log( i );    // 0 1 2 3 
        }
        for (var i of city) {
            console.log(i);     // 서울, 대구, 대전, 부산
        }
    </script>

for in 문 / for of 문 비교 출력 이미지

forEach( ) 메서드 : 배열 요소에 순차적으로 접근하여 필요한 값을 만들 때 사용하는 메서드

    <script>
        var num = [1, 2, 3];
        num.forEach(function(value, index, array) {
            console.log(value);  // 1 2 3 → num 배열의 값
            console.log(index);  // 0 1 2 → num 배열의 index 번호
            console.log(array);  // [1, 2, 3] → num 배열 자신
        })
    </script>

출력 이미지

위 예제에서 num 배열의 첫 번째 index부터 마지막 index가 될 때까지 익명 함수 (function (value, index, array) { ... })가 반복적으로 호출되어 실행하는 것을 확인할 수 있다. 이렇게 함수의 매개변수로 전달되어 반복적으로 실행되는 함수를 콜백(Collback) 함수라고 한다.

 

▶ map( ) 메서드 : 기존의 배열을 이용하여 새로운 배열을 만들 수 있다.

    <script>
        var base = [10, 20, 30];
        base.map(function(value, index, array) {
            console.log(value);  // 10 20 30 → num 배열의 값
            console.log(index);  // 0 1 2 → num 배열의 index 번호
            console.log(array);  // [10, 20, 30] → num 배열 자신
        });
        var area = base.map(function(value) {
            return value * 8;  // area 변수의 배열 값으로 만들어준다.
        })
        console.log(area.toString())  // 80, 160, 240
    </script>

출력 이미지

▶ filter( ) 메서드 : 조건에 맞는 배열 요소들만 새로운 배열로 만들어 준다.

    <script>
        var data = ['javascript', 20, 30, 'jQuery'];
        data.filter(function(value, index, array) {
            console.log(value);  // javascript 20 30 jQuery → data 배열의 값
            console.log(index);  // 0 1 2 3 → num 배열의 index 번호
            console.log(array);  // ['javascript', 20, 30, 'jQuery'] → num 배열 자신
        });
        var num = data.filter(function(value) {
            return typeof value === 'number';
                // data의 배열 값 중 number 데이터만 num 변수의 배열로 만든다.
        })
        console.log(num.toString())  // 20, 30
    </script>

출력 이미지

'Java Script' 카테고리의 다른 글

Java Script-이벤트  (0) 2020.12.14
Java Script-내장 객체 2( Math, Date, 정규표현식(RegExp) )  (0) 2020.12.14
Java Script-사용자 정의 객체  (0) 2020.09.21
Java Script-함수  (0) 2020.09.17
Java Script-제어문  (0) 2020.09.10

댓글