JavaScript 전개 연산자(...)

alert("april");·2023년 11월 17일
0

javaScript

목록 보기
13/13
post-thumbnail

전개연산자 ...

배열에서 사용 가능,
객체에서 사용 가능

배열 예시

    let ar = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];

    let ar2 = ar; (얉은 복사 - 주소(위치)만 복사)
    
    let ar2 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]; (깊은 복사)
    배열 새롭게 하나 만들기. 모양, 내용물은 똑같지만 완전 다른 위치에 넣어둠
    근데 좀 귀찮네...? 안에 뭐가 들어있을지 모른다면?
    
    let ar2 = [];
    for(let i = 0 ; i < ar.length; i++){
        ar2.push(ar[i]);
    }

    복잡하네..? 그래서 나온게 바로
    전개 연산자!!
    let ar = [ 10, 20, 30 ];

    let ar2 = [ ...ar ]; 완전 똑같은 배열을 똑같이 만들 수 있다

객체 예시

    let book = { title:'대모험', page:20, author:'홍길동' } 주소 A00 
    let book2 = book; 주소 A00

    book2.title = "홍길동전"
    그럼 둘다 바뀜. 주소가 똑같으니까

    let book2 = {title:book.title, page:book.page, author:book.author} 이렇게 해도되는데 귀찮;;
    let book2 = { ...book , price:100 , title:'홍길동전'};  주소 B00
    let book2 = { title:'대모험', page:20, author:'홍길동', price:100 , title:'홍길동전'}
    객체 안에서 key값은 중복될 수 없기때문에 뒷쪽에 있는 title이 덮어 써버린다.(title:'홍길동전')



    let ar2[0] = 100;
    // ar2 : [100, 20, 30, 40, 50, 60, 70, 80, 90, 100]
    // ar : [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

예시2

let ar = []
let ar2 = JSON.parse(JSON.stringify(fr))
profile
Slowly but surely

0개의 댓글