[node.js] 데이터나 조건의 유효성을 검사해주는 assert 모듈 #1(assert 함수)

assert 모듈은 특정 조건이 참인지 거짓인지, 값이 0인지 아닌지를 체크하여

틀린 조건, 값이 0일 경우에 오류를 발생시키는 모듈이다.

node.js에서 assert를 사용하려면 다음과 같이 소스코드를 작성하여야 한다.

var assert = require("assert");

간단한 사용 예제를 보면 더욱 이해가 쉬울 것이다.

var assert = require("assert");

/*
    assert 모듈은 ()안의 조건이나 값이 유효한지 검사하는 모듈
    따라서, 해당 조건이 거짓이거나 또는 값이 0일 경우 오류를 발생시켜
    이후 동작을 수행하지 않음.
*/

var a = 10;
var b = 10;
var c = 30;

assert(a < c); // a는 10, c는 30으로 참
console.log("a는 c보다 작다.")

위 코드를 작성하고 실행하면 아래와 같은 결과가 출력된다.

정상적으로 코드가 수행되는 걸 확인했으면 추가로 소스코드를 작성해보자

var assert = require("assert");

/*
    assert 모듈은 ()안의 조건이나 값이 유효한지 검사하는 모듈
    따라서, 해당 조건이 거짓이거나 또는 값이 0일 경우 오류를 발생시켜
    이후 동작을 수행하지 않음.
 */

var a = 10;
var b = 10;
var c = 30;

assert(a < c); // a는 10, c는 30으로 참
console.log("a는 c보다 작다.")

assert(a == c); // a는 10, c는 30이므로 거짓
console.log("a는 c와 같다.")

assert함수에 a와 c가 같다는 조건을 넣었다. 이 소스에 따르면 거짓이므로 오류가 출력될 것이다.

a == c가 거짓이기 때문에 오류를 출력한 화면이다.

또 다른 예제를 보자.

var assert = require("assert");

/*
    assert 모듈은 ()안의 조건이나 값이 유효한지 검사하는 모듈
    따라서, 해당 조건이 거짓이거나 또는 값이 0일 경우 오류를 발생시켜
    이후 동작을 수행하지 않음.
 */

var a = 10;
var b = 10;
var c = 30;

assert(a < c); // a는 10, c는 30으로 참
console.log("a는 c보다 작다.")
/*
assert(a == c); // a는 10, c는 30이므로 거짓
console.log("a는 c와 같다.")
*/
assert(a - b); // a - b는 0이므로 에러 발생
console.log("a - b는 0이 아니다.")

a도 10, b도 10이기 때문에 a-b는 0이 된다.

assert함수는 값이 0이면 오류를 발생시키기 때문에 이 소스는 오류가 날 것이다.

값이 0보다 낮은 음수라면? assert에서는 오류를 출력하지 않는다.

댓글

Designed by JB FACTORY