초보자 삼항 문이 아님

2047 단어 beginnersjavascript
NPM에 게시되기를 바라는 JS 라이브러리를 계획하기 시작했습니다. 독학 프로그래머로서 저는 다른 사람들의 코드를 관찰하는 것이 매우 중요하다는 것을 계속해서 배우고 있습니다. 저에게 영감을 주기 위해 비슷한 JS 라이브러리에 대한 메모를 작성하다가 이 흥미로운 Javascript 라인을 발견했습니다.
debug = typeof value === 'boolean' ? value : debug
전체 컨텍스트의 함수 범위는 다음과 같습니다.

Object.defineProperty(ScrollReveal, 'debug', {
    get: () => debug || false,
    set: value => (debug = typeof value === 'boolean' ? value : debug)
})


나는 프리랜서 웹 개발에서 지속적으로 삼항문을 사용하지만, 이전에 삼항에서 이러한 유형의 할당/파괴를 본 적이 없기 때문에 줄의 시작 부분이 매우 흥미롭습니다. 나는 그것이 물건인지 몰랐고 훌륭합니다.

왼쪽에서 오른쪽으로 setter는 값을 반환하지만 (모든 삼항이 수행하는 것처럼) 이것을 다르게 만드는 것은 debug =를 어휘 변수에 할당하는 typeof value 부분입니다: debug . 따라서 이 setter 함수를 사용할 때 매개변수가 부울이 아닌 경우 매개변수 유형이 무엇이든 debug 에 대한 작은 참조 루프를 만듭니다.

나는 이것이 함수에서 유형 절을 보다 간결하게 건너뛰는 데 유용하지만 (string | boolean 와 같이 허용되는 유형을 추가하는 대신) 부정 방향으로 인터페이스에 접근할 때 유용하다고 봅니다. (Typescript 세계 대신 JS에서) any에서 유형을 제거하여 유형을 만들고 싶다면 아마도 이것이 좋은 방법일 것입니다.

Javascript(또는 모든 프로그래밍)의 아름다움: 항상 더 많은 것을 배울 수 있습니다.

좋은 웹페이지 즐겨찾기