JavaScript에서 문이 아닌 경우 Ruby와 동등함
Ruby에서 조건문은 unless
규칙을 따르는 반면 대부분의 프로그래밍 언어는 if-else
조건을 선호합니다. 이점은 비슷합니다. 기본 설정은 각 언어에 내장되어 있습니다.
Ruby, Perl, CoffeeScript 등 이외의 unless
문을 사용합니다.
여기, 우리의 경우 unless
의 정의와 함께 일반적인 if-else
문의 적용을 시각화합니다. 이는 if-else
문이 unless
명령문처럼 작동하도록 구성한다는 것을 의미합니다.
드라이브의 경우 unless
라는 함수를 생성하고 if-else
를 사용하여 unless
문의 작업을 수행합니다.
JavaScript에서 unless
문을 구현하는 사용자 정의 함수 만들기
여기서 만들 함수는 조건을 취합니다. 또한 해당 조건을 기반으로 함수의 만족도를 유추하는 또 다른 콜백 함수를 생성합니다.
더 나은 이해를 위해 코드 라인을 살펴보겠습니다.
코드 조각:
let unless = (condition, callback) => {
!condition && callback();
} let a = 10;
let b = 20;
unless(a > b, () => {console.log('A should be greater than B')})
출력:
보시다시피 unless
함수는 조건을 취합니다. 우리의 경우 조건은 b보다 작음
입니다.
그러나 unless
함수가 부정되고 조건을 a>b
로 설정하면 이를 수락하고 콜백 함수가 작동하도록 트리거합니다. 그러나 일반적인 if-else
문의 시나리오에 따르면 조건이 else
문 아래에 있기 때문에 콜백 함수를 트리거해서는 안 됩니다.
JavaScript에서 unless
문을 구현하려면 if-else
문을 부정합니다.
이 부분은 비교적 파악하고 구현하기 쉽습니다. if
작업을 else
처럼 설정하고 else
작업을 if
처럼 설정하기만 하면 됩니다.
if
에 어떤 조건이 적용되든 사전에 무효화되므로 else
가 자동으로 정의됩니다. 상황을 설명하기 위해 코드 펜스를 사용해 보겠습니다.
코드 조각:
var a = 42;
var b = 10;
if (!(a > b)) {
console.log('Incorrect');
} else {
console.log('Correct');
}
출력: