1

다음과 같은 아이디어가 있지만 확실하지는 않습니다. 가능성이 있다면 작동합니다.매개 변수에 대한 ES6 구조화 exec 함수

는 IS-CASE :

handleChange({ target: { value } }) { 
    const intValue = parseInt(value, 10); 
    // doSomething(intValue); 
} 

SHOULD-CASE :

내가 원하는
handleChange({ target: { value: parseInt(value, 10) } }) { 
    // doSomething(value); 
} 

: I 함수의 헤드에 직접 정수 값 파라미터를 파싱 할. 그래서 저는 정수로 몸에 접근 할 수 있습니다.

필자는 should-state가 유효한 js 구문이 아니라는 것을 알고 있지만, 가능성이 있다면이를 달성 할 수 있는지 알고 싶습니다.

가 이미이 작동하고 있는지, 알고

let {length : len} = 'abc'; // len = 3 

그래서 나는 유사한 동작이 찾고 :

let {parseInt : int} = '123'; // int = 3 

감사합니다, 제안을 기대,

마이클

+1

함수 정의 또는 함수 호출일까요? – Cobaltway

+0

나는 자신을 명확하게하려고 애썼고 나의 이전 질문을 편집했다. – dazlious

+0

코드에 누락 된 화살표 또는 함수 키워드가 있다고 생각합니다. – Cobaltway

답변

1

이와 비슷한 것이 작동하려면 이 있습니다. 잡았다.

을 단순화하기 위해, 난 그냥 { value } 대신 { target: { value } }

function handleChange({ 
    value = 10, // declare this first so you can use the variable later 
    intValue = parseInt(value, 10) // intValue shouldn't be passed as argument 
} = {}) { 
    console.log(intValue); 
} 

handleChange({ value: "100" }); 

의 사용했지만 그것은 intValue는 함수 PARAM의 속성 인 경우 의도 한 것보다 다른 결과를 얻을 [0]. 당신이 실제로 10를 기록 할 것으로 예상 할 때

handleChange({ value: "100", intValue: 10 }); 

100를 기록합니다. 그래서 나는 이것이 누설 된 것처럼 이것을하는 것을 권장하지 않을 것이다.

+0

좋았지 만, 언급 한대로, 약간의 문제가있다. jsDoc을 통해 코드를 문서화하려면 두 번째 매개 변수도 문서화해야합니다. 나는 또한 두 번째 매개 변수를 갖는 것으로 그것을 좋아하지 않는다. – dazlious