2017-12-09 5 views
-1

개체 속성을 확인하고 조건부로 기본값을 할당하는 가장 좋은 방법은 무엇입니까?개체 속성이 있는지 확인하고 기본 값을 조건부로 할당하는 방법 (JavaScript)

이는 어설픈 것 같다

if (!obj.prop) obj.prop = defaultProp; 

클리너 옵션이 있습니다 :

obj.prop = (obj.prop) || defaultProp; 

을하지만, 진정한 평가가 불필요한 할당을 수행하므로 꼭 더 나은 뭔가있을 것 같아?

감사합니다. prop 값은 기본 값을 할당합니다 null 즉 falsy undefined 경우, 또는

+0

당신이 생각하고있는 세 번째 옵션이 확실하지 않습니다. 조건부 할당 또는 자체 덮어 쓰기 가능한 할당. 거기에 또 뭐야? – deceze

+0

ES6를 사용한다면 아마도 기본 매개 변수를 사용할 수 있습니다. 그렇지 않으면'if' 문을 선호합니다. – 4castle

+0

값이 많으면 두 접근법 중 하나를 사용하여 거짓을 반환합니다. – charlietfl

답변

2

나는 ||를 사용하여이 솔루션에주의 것입니다. 여기에 좋은 호출은 너무

if (!('prop' in obj)) obj.prop = defaultProp; 

가 그 조건 'prop' 안에 당신이 검사 할 속성의 정확한 이름을 나타내는 문자열입니다 유의하시기 바랍니다처럼 in 연산자를 사용하는 것입니다.

관련 문제