ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2. ES6 문법 (2)
    JavaScript/2주차-ES6, 일급객체, Map, Set 2023. 5. 24. 16:39

     

    1. 단축 속성명 (property shorthand)

    const name = "jake";
    const newAge = "30";
    const height = "186";
    const obj = {
        name: name,
        age: newAge,
        height: height
    }

    key-value. 왼쪽은 key, 오른쪽은 value
    왼쪽과 오른쪽이 같은 경우 key값을 아래처럼 과감히 생략 가능.

    예를 들어 위에서는 name: name과 height: height가 같으므로 생략할 수 있다.

    const name = "jake";
    const newAge = "30";
    const height = "186";
    const obj = {
        name,
        age: newAge,
        height
    }

    만약 key-value값이 모두 같아서 key값을 모두 생략한 경우

    const name = "jake";
    const age = "30";
    const height = "186";
    const obj = {
        name: name,
        age: age,
        height: height
    }

    name: name, age: age, height: height 모두 같으므로 아래처럼 쓸 수 있다.

    const name = "jake";
    const age = "30";
    const height = "186";
    const obj {name, age, height}

    여기서 const obj {name, age, height} 가 나열되어있어 마치 배열처럼 보일수도 있으나, 배열이 아니라 객체이다. 단축 속성명을 썼을 뿐이다. 그리고 객체와 배열의 가장 큰 차이점은, 배열은 대괄호 [ ] , 객체는 중괄호 { } 라는 점

     

     

     

    2. 전개 구문 (Spread Operator) : Destructuring과 함께 가장 많이 사용되는 ES6 문법

    전개 구문은 배열을 말 그대로 전개 (spread) 하는 것이다.

    전개구문은 ...을 사용 -> 새로운 구조를 써야할 때 사용
    (...arr이라는 뜻은 arr을 반복해 써넣은것을 의미한다.)

     

     

    let arr = [1, 2, 3];
    console.log(arr);

    여기서 let newArr로 하나를 더 추가해 [1, 2, 3, 4]를 만들려면

    let newArr = [...arr, 4]; 로써 기존 arr에 4를 추가할 수 있다.

    let arr = [1, 2, 3];
    let newArr = [...arr, 4];
    console.log(newArr); // [1, 2, 3, 4]

     

     

     

    그렇다면 이번엔 객체에 전개구문을 적용해보자.

    let user = {
        name: 'jake',
        age: 30,
        height: 186,
    };
    
    let user2 = {
        ...user,
        gender: 'male'
    };
    console.log(user); // { name: 'jake', age: 30, height: 186 }
    console.log(user2); // { name: 'jake', age: 30, height: 186, gender: 'male'}

     

     

     

    3. 나머지 매개변수 (rest parameter)

    args (arguments) = 추가적인 나머지(arguments)가 들어올 수 있다.

    나머지 매개변수는 전개구문에 나머지를 추가하는 것이므로, ...args 형태로 쓴다.

     

    function exampleFunc (a, b, c) {
        console.log (a, b, c);
    }
    exampleFunc(1, 2, 3); // 1, 2, 3

    여기서 나머지 매개변수를 추가하면

     

    function exampleFunc (a, b, c, ...args) {
        console.log (a, b, c);
        console.log(...args);
    }
    exampleFunc(1, 2, 3, 4, 5, 6, 7); 
    
    // 1 2 3 4 5 6 7

    console.log(...args)에서 전개구문을 제외하고 console.log(args)라고 쓰면, 추가된 4 5 6 7은 배열 형태로 나온다.
    즉, ...를 꼭 해서 나머지 매개변수로 인식할 수 있도록 해야 한다.

     

     

    4. 템플릿 리터럴 (Template Literal)

    console.log ("Hello World"); // 따옴표
    console.log (`Hello World`); // 백틱

    쌍따옴표 또는 따옴표가 아닌, 백틱 ` 으로도 문자열을 묶을 수 있음.
    백틱을 넣으면 JavaScript코드, 변수, 연산등도 들어갈 수 있다. ${ }형태로 넣어야 함.

     

    console.log (`Hello World ${3+3}`); // Hello World 6
    
    const testValue = "안녕하세요!";
    console.log(`Hello World ${testValue}`); // Hellow World 안녕하세요!

    템플릿 리터럴은 따옴표와는 달리, 멀티라인(여러 줄)을 지원한다.

     

    console.log( `
                Hello
                My Name is JavaScript
                Nice to meet You!
    `);

     

    'JavaScript > 2주차-ES6, 일급객체, Map, Set' 카테고리의 다른 글

    6. Set 문법  (0) 2023.05.25
    5. Map 문법  (0) 2023.05.25
    4. 일급 객체로써의 함수 (2)  (0) 2023.05.24
    3. 일급 객체로써의 함수 (1)  (2) 2023.05.24
    1. ES6 문법 (1)  (1) 2023.05.24

    댓글

Designed by Tistory.