2016-07-22 1 views
5

나는 Reux with Reux를 설정하는데 this tutorial을 따라 왔고 익숙하지 않은 구문을 발견했습니다. 함수 매개 변수 정의 내에서 중괄호는 무엇입니까?JS : 함수 매개 변수 선언 안의 중괄호는 무엇을 의미합니까?

예 :

function Stream({ tracks = [], onAuth }) { #what is going on here? 
 
    return (
 
    <div> 
 
     ... #component stuff here 
 
    </div> 
 
); 
 
}

이 특정 반작용인가? 아니면 이것이 바벨이나 다른 도서관과 관련이 있습니까? 나는이 기술에 익숙하지 않아 무슨 일이 일어나고 있는지 잘 모릅니다.

+0

함수에 매개 변수로 개체 리터럴이 전달되고 있습니다. – Hopeless

+0

그게 무슨 뜻입니까? 함수를 호출 할 때 객체 리터럴이 필요합니까? 어떻게 이런 식으로 뭔가를 전달합니까? – derigible

+0

구문을 구조적으로 처리하는 것처럼 보입니다. 그러나 자바 스크립트가 구조적으로 파괴 된 것을 알지 못했습니다. 이것이 맞다면, 함수는'tracks' 필드를 가진 객체를 기대하고 있습니다 (그러나 Hebert 객체가없는 빈 객체 목록을 기본값으로 할 수 있습니다). 그리고 제공되어야하는'onAuth' 필드. 이것은 기본적으로 전달 된 객체의 필드에 액세스하는 더 깔끔한 방법입니다. – Carcigenicate

답변

5

구문을 구조적으로 처리하는 것처럼 보입니다. 그러나 자바 스크립트가 구조 조정을 수행하지 못했습니다. 즉,이 함수가 tracks 필드 객체를 기대하고있다 (그러나 객체가 하나가없는 경우 빈 목록에 기본적으로 수), 무엇 있다면

undefined 기본값 것 onAuth 필드. 이것은 기본적으로 전달 된 객체의 필드에 액세스하는 더 깔끔한 방법입니다.

+1

onAuth는 제공 할 필요가 없다. 로컬 변수는 정의되지 않았거나 전달 된 값으로 생성됩니다. – eltonkamami

+0

@eltonkamami 수정 됨. 감사. – Carcigenicate