01. 변수 : 데이터 불러오기

변수 안에 저장된 데이터를 불러오는 방법입니다.

{
    let x = 100, y = 200, z = "javascript";

    console.log(x, y, z);
}
결과 확인하기
100, 200, javascript

02. 상수 : 데이터 불러오기

상수 안에 저장된 데이터를 불러오는 방법입니다.

{
    const x = 100, y = 200, z = "javascript";

    console.log(x, y, z);
}
결과 확인하기
100, 200, javascript

03. 배열 : 데이터 불러오기 : 기본

여러 개의 배열된 데이터를 불러오는 방법입니다.

{
    const arr = [100, 200, "javascript"]

    console.log(arr[0], arr[1], arr[2]);
}
결과 확인하기
100, 200, javascript

04. 배열 : 데이터 불러오기 : 2차 배열

배열 안에 배열이 있는 데이터를 불러오는 방법입니다.
ex) const 키 = [값1, 값2, [값3, 값4]] / 값3 : console.log(arr[2[0]]); / 값4 : console.log(arr[2[1]]);

{
    const arr = [100, 200, ["javascript","react"]];

    console.log(arr[0]);
    console.log(arr[1]);
    console.log(arr[2][0]);
    console.log(arr[2][1]);
}
결과 확인하기
100
200
javascript
react

05. 배열 : 데이터 불러오기 : 갯수 구하기

여러 개의 배열된 데이터를 불러오는 값의 갯수를 구하는 방법입니다. ex) console.log(키.length);

{
    const arr = [100, 200, "javascript"];

    console.log(arr.length);
}
결과 확인하기
3

06. 배열 : 데이터 불러오기 : for( )문

여러 개의 배열된 데이터를 for( )문을 이용해서 불러오는 방법입니다.
for( )문 작성 방법 : for(초기값; 조건식; 증감식){실행문}
for( )문 실행 순서 : 초기값 -> 조건식(true, false 초기값이 맞는지 확인) -> 실행문 -> 증감식

{
    const arr = [100, 200, 300, 400, 500, 600, 700, 800, 900];

    for(let i=0; i<9; i++){
        console.log(arr[i]);
    }
}
결과 확인하기
100, 200, 300, 400 ~ 800, 900

✍️ for( )문을 이용한 연산 방식

i=0; 0<9; console.log(arr[0]); i++ //100
i=1; 1<9; console.log(arr[1]); i++ //200
i=2; 2<9; console.log(arr[2]); i++ //300
i=3; 3<9; console.log(arr[3]); i++ //400
i=4; 4<9; console.log(arr[4]); i++ //500
i=5; 5<9; console.log(arr[5]); i++ //600
i=6; 6<9; console.log(arr[6]); i++ //700
i=7; 7<9; console.log(arr[7]); i++ //800
i=8; 8<9; console.log(arr[8]); i++ //900

07. 배열 : 데이터 불러오기 : 중첩 for( )문

여러 개의 배열된 데이터를 for( )문을 이용해서 불러오는 방법입니다.
for( )문 안에 새로운 for( )문이 들어가 있는 것이다. ex) for(초기값; 조건식; 증감식){실행문; for(초기값; 조건식; 증감식){실행문;}}
실행 : (첫번째 for( )문 반복횟수) * (두번째 for( )문 반복횟수)

{
    for(let i=1; i<=10; i++){
        console.log("i : " + i);
        for(let j=1; j<=10; j++){
            console.log("j : " + j);
        }
    }
}
결과 확인하기
i : 1 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 2 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 3 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 4 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 5 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 6 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 7 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 8 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 9 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10
i : 10 , j : 1 , j : 2 , j : 3 , j : 4 , j : 5 , j : 6 , j : 7 , j : 8 , j : 9 , j : 10

✍️ 실행 방법

첫번째 for(초기값; 조건식; 증감식){실행문}; 출력 후 두번째 for(초기값; 조건식; 증감식){실행문}; 전체 출력 한 다음에 다시 첫번째 for문으로 이동해서 증감식에 맞게 실행해서 반복해주시면 됩니다.

08. 배열 : 데이터 불러오기 : forEarch( )문

forEach( )문은 배열의 데이터가 있을 경우 사용합니다.
forEach( )문 안에는 함수가 들어가는 콜백 함수입니다.
forEach( )문은 element(값), index(인덱스), array(배열)을 불어오는 특징이 있습니다.
ex) num.forEach(function(element, index, array){
         document.write(element);
         document.write(index);
         document.write(array);
     });

{
    const num = [100, 200, 300, 400, 500];

    num.forEach(function(element, index, array){
        document.write(element);
        document.write(index);
        document.write(array);
    });
}
결과 확인하기
100
0
100,200,300,400,500
200
1
100,200,300,400,500
300
2
100,200,300,400,500
400
3
100,200,300,400,500
500
4
100,200,300,400,500

✍️ forEach문은 화살표 함수로 생략할 수 있습니다!!

forEach문은 함수를 사용하기 때문에 화살표 함수를 사용할 수 있습니다.

{
    const num = [100, 200, 300, 400, 500];

    // forEach문
    num.forEach(function(el){
        document.write(el);
    });

    //forEach문 : 화살표 함수
    num.forEach((el) => {
        document.write(el);
    });

    //forEach문 : 화살표 함수 : 괄호 생략(매개변수가 한 개일때 사용가능합니다.)
    num.forEach(el => {
        document.write(el);
    });

    //forEach문 : 화살표 함수 : 괄호 생략 + 중괄호 생략
    num.forEach(el => document.write(el));

}    

09. 배열 : 데이터 불러오기 : for of

for of 문은 문자열이나 배열과 같은 반복 가능 자료에서 사용하는 반복문입니다.
forEach 문에서 사용했던 소스 코드를 for of 문에서도 사용할 수 있습니다.
for of문은 element 값 출력하는데 사용합니다.

{
    const arr = [100, 200, 300, 400, 500];

    for(let i of arr){
        document.write(i);
    };
}
결과 확인하기
100, 200, 300, 400, 500

10. 배열 : 데이터 불러오기 : for in

for in문은 반복해서 값을 불러오는데 사용됩니다.
for in문은 index 인덱스 출력하는데 사용합니다.

{
    const arr = [100, 200, 300, 400, 500];

    for(let i in arr){
        document.write(i);
    };
}
결과 확인하기
0, 1, 2, 3, 4

✍️ for in문을 통해서 element(값)도 출력할 수 있습니다.

{
    const arr = [100, 200, 300, 400, 500];
    for(let i in arr){
        document.write(arr[i]);
    };
}

결과 : 100, 200, 300, 400, 500

11. 배열 : 데이터 불러오기 : map( )

forEach문과 비슷하며, element(값) index(인덱스) array(배열)을 출력하는데 사용합니다.

{
    const arr = [100, 200, 300, 400, 500];

    num.map(function(el, i, a){
        document.write(el);
        document.write(i);
        document.write(a);
    });
}
결과 확인하기
100
0
100,200,300,400,500
200
1
100,200,300,400,500
300
2
100,200,300,400,500
400
3
100,200,300,400,500
500
4
100,200,300,400,500

✍️ map( ) 화살표 함수로 생략이 가능합니다.

map( )은 함수를 사용하기 때문에 화살표 함수를 사용할 수 있습니다.

{
    const num = [100, 200, 300, 400, 500];

    // map문
    num.map(function(el){
        document.write(el);
    });

    //map문 : 화살표 함수
    num.map((el) => {
        document.write(el);
    });

    //map문 : 화살표 함수 : 괄호 생략(매개변수가 한 개일때 사용가능합니다.)
    num.map(el => {
        document.write(el);
    });

    //map문 : 화살표 함수 : 괄호 생략 + 중괄호 생략
    num.map(el => document.write(el));

}    

12. 배열 : 데이터 불러오기 : 배열 펼침연산자(Spread Operator)

펼침 연산자는 자바스크립트에서 배열, 객체, 문자열 등의 요소를 펼쳐서 개별 요소로 분리하는 연산자입니다.

{
    let arr1 = [100, 200, 300, 400, 500];
    let arr2 = [600, 700];

    console.log(arr1);
    console.log(...arr1);                // ... 은 반복문(for문)이 포함되어 있어 값이 출력됩니다.
    console.log(...arr1, ...arr2);
}
결과 확인하기
100, 200, 300, 400, 500
100, 200, 300, 400, 500
100, 200, 300, 400, 500, 600, 700

13. 배열 : 데이터 불러오기 : 배열 구조분해할당(Destructuring assignment)

배열의 요소를 개별 변수를 할당하는 방법 중 하나입니다.
이를 통해 배열의 각 요소를 개별 변수로 분리하여 사용할 수 있습니다.
리액트에서 많이 사용되고, 구조를 분해해서 정렬하는 방법이고, ES6(ECMAScript 2015)에서 새로 도입된 방법입니다.

{
    let a, b, c;

    [a, b, c] = [100, 200, "javascript"];

    console.log(a);
    console.log(b);
    console.log(c);
}
결과 확인하기
100
200
javascript

14. 객체 : 데이터 불러오기 : 기본

객체의 데이터를 불러오는 기본적인 방법입니다.

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    };

    console.log(obj.a);
    console.log(obj.b);
    console.log(obj.c);
}
결과 확인하기
100
200
javascript

15. 객체 : 데이터 불러오기 : Object

객체의 데이터를 키만 불러오거나, 값만 불러오거나, 키와 값을 둘다 불러오는 방법입니다.

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    };

    console.log(Object.keys(obj));          // 키 불러오는 방법
    console.log(Object.values(obj));        // 값 불러오는 방법
    console.log(Object.entries(obj));       // 키, 값 불러오는 방법
}
결과 확인하기
a, b, c
100,200,javascript
a,100,b,200,c,javascript

16. 객체 : 데이터 불러오기 : 변수

객체의 키와 값을 변수로 설정해서 출력값을 변수를 입력해서 불러오는 방법입니다.

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    };

    const name1 = obj.a;
    const name2 = obj.b;
    const name3 = obj.c;

    console.log(name1);
    console.log(name2);
    console.log(name3);
}
결과 확인하기
100
200
javascript

17. 객체 : 데이터 불러오기 : for in

for in문을 사용해서 객체의 데이터를 불러오는 방법입니다.

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    };

    for(let key in obj){
        console.log(key);           // 키 불러오는 방법
        console.log(obj[key]);      // 값 불러오는 방법
    }
}
결과 확인하기
a, 100, b, 200, c, javascript

18. 객체 : 데이터 불러오기 : map( )

데이터가 배열로 감싸고 안에 객체가 있을 경우 사용됩니다.

{
    const obj = [
        {a: 100, b: 200, c: "javascript"}
    ];

    obj.map(function(el){
        console.log(el.a);
        console.log(el.b);
        console.log(el.c);
    });
}
결과 확인하기
100
200
javascript

✍️ 객체의 map( )도 화살표 함수로 생략이 가능합니다.

객체의 map( )도 배열의 map( )와 같이 화살표 함수로 생략이 가능합니다.
* 참고 : 11. 배열 : 데이터 불러오기 : map( )

19. 객체 : 데이터 불러오기 : hasOwnProperty( )

객체에 특정 속성이 존재하는지 여부를 나타내는 불리언 값을 반환합니다.
해당 속성이 객체 자신의 속성으로 존재하면 true를 반환하고, 해당 속성이 존재하지 않으면 false를 반환합니다.

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    };

    console.log(obj.hasOwnProperty("a"));       // true
    console.log(obj.hasOwnProperty("b"));       // true
    console.log(obj.hasOwnProperty("c"));       // true
    console.log(obj.hasOwnProperty("d"));       // false      
}
결과 확인하기
true
true
true
false

✍️ hasOwnProperty( ) 약식으로 사용 가능합니다.

 {
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    };

    console.log(obj.hasOwnProperty("a"));       // true
    console.log(obj.hasOwnProperty("b"));       // true
    console.log(obj.hasOwnProperty("c"));       // true
    console.log(obj.hasOwnProperty("d"));       // false

    // 약식
    console.log("a" in obj);                    // true
    console.log("b" in obj);                    // true
    console.log("c" in obj);                    // true
    console.log("d" in obj);                    // false
}

20. 객체 : 데이터 불러오기 : 객체 펼침 연산자(Spread Operator)

펼침 연산자는 자바스크립트에서 배열, 객체, 문자열 등의 요소를 펼쳐서 개별 요소로 분리하는 연산자입니다.
데이터를 추가해서 불러올 수 있고, 두 개의 데이터를 합칠 수도 있습니다.

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    }
    const spread = {...obj};

    console.log(spread.a);
    console.log(spread.b);
    console.log(spread.c);
}
결과 확인하기
100
200
javascript

✍️ 데이터를 추가해서 불러올 수 있고, 두 개의 데이터를 합칠 수도 있습니다.

{ // 데이터 추가
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    }
    const spread = {...obj, d: "react"};    // 데이터를 추가로 입력해서 출력이 가능합니다.

    console.log(spread.a);      // 100
    console.log(spread.b);      // 200  
    console.log(spread.c);      // javascript
    console.log(spread.d);      // react
}
{ // 두 개의 데이터 합침
    const obj1 = {
        a: 100,
        b: 200
    }

    const obj2 = {
        c: "javascript",
        d: "react"
    }

    const spread = {...obj1, ...obj2};      // 두 개의 데이터를 합쳐서 출력이 가능합니다.

    console.log(spread.a);      // 100
    console.log(spread.b);      // 200  
    console.log(spread.c);      // javascript
    console.log(spread.d);      // react
}

21. 객체 : 데이터 불러오기 : 객체 구조분해할당(Destructuring assignment)

객체의 속성들을 변수로 분해하여 할당하는 것을 의미합니다.
리액트에서 많이 사용되고, 구조를 분해해서 정렬하는 방법이고, ES6(ECMAScript 2015)에서 새로 도입된 방법입니다.

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    }

    const {a, b, c} = obj;

    console.log(a);
    console.log(b);
    console.log(c);
}
결과 확인하기
100
200
javascript

✍️ 변수로 분해했을 때 값을 주고 그 데이터 값으로 데이터를 불러올 수 있습니다.

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    }

    const {a:name1, b:name2, c:name3} = obj;

    console.log(name1);     // 100
    console.log(name2);     // 200
    console.log(name3);     // javascript
}