[JS] 여러 대입 함수의 변수를 기술할 때 주의사항
7099 단어 JavaScript
&&
이나 ||
을 설정할 때 기술한 주의사항을 설정합니다.정확한 기술
여러 개의 진위 값을 설정한 경우 다음과 같이 매개 변수를 명시하고 쌍방에게 각각 전달하는 변수가 필요하다.
OK 사례
moreThanOne = ({arr}) => arr.length > 1
lessThanThree = ({arr}) => arr.length < 3
//正常な記述
judgeOK = (params) => lessThanThree(params) && moreThanOne(params)
이것은 파라미터를 기술하지 않고 변수를 연결하면 의도하지 않은 결과가 된다.NG 사례
//間違った記述
judgeNG = lessThanThree && moreThanOne
왜 의도하지 않은 결과가 됐을까?
NG 사례
judgeNG = lessThanThree && moreThanOne
이 식은less탄 Three의 결과와moreThanne의 결과를 &로 연결하는 것이 아니라 변수 자체를 연결하는 것이다.만약 전자가 진짜/가짜가 아니라면, & & & 뒤에 있는 값을 되돌려줍니다.
따라서 상술한 식은
judgeNG = moreThanOne
과 같다.▶ 비진실/거짓 사례
▶ 확인용 코드
arr = [1,2,3,4,5]
moreThanOne = ({arr}) => arr.length > 1
lessThanThree = ({arr}) => arr.length < 3
//意図しない動き
judgeNG = lessThanThree && moreThanOne
console.log( judge({arr}) ) //true
//意図した動き
judgeOK = (params) => lessThanThree(params) && moreThanOne(params)
console.log( judge({arr}) ) //false
위에서 말한 바와 같이 파라미터를 기술하지 않은 상황에서 후방의 moreThanne만 평가하는 것은lessThanThree가 무시된 결과가 되었다.다른 한편, 매개 변수를 묘사한 상황에서 되돌아오기
true && false = false
.파람스는 무엇입니까?
params는 모든 전달된 매개 변수를 표시합니다.매개 변수 이름은 임의이기 때문에 파라메스 이외에도 문제가 없습니다.
arr = [1,2,3,4,5]
moreThanOne = ({arr}) => arr.length > 1
lessThanThree = ({arr}) => arr.length < 3
judge = (o) => lessThanThree(o) && moreThanOne(o)
console.log( judge({arr}) )
//false
위의 경우o
에는 {arr}
가 포함됩니다.변수가 일 경우
하나의 변수 상황에서 매개 변수를 전달하지 않아도 의도적으로 운동하는 것도 혼란을 초래하는 원인이다
moreThanOne = ({arr}) => arr.length > 1
//意図した動きになる
judge = moreThanOne
judge({arr})
이것은judge가morethanOne에 저장된 변수 자체가 되기 때문에 매개 변수를 교부하지 않아도 진가를 되돌려줍니다.judge = moreThanOne
↓↑judge = ({arr}) => arr.length > 1
Reference
이 문제에 관하여([JS] 여러 대입 함수의 변수를 기술할 때 주의사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shizen-shin/items/687c6eb20cf3a45f7431텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)