[Javascript] boolean값을 !1 또는 !0 으로 사용

Narcoker·2025년 3월 21일
1

JavaScript

목록 보기
56/56

개요

라이브러리 코드 분석을 하다가 다음과 같은 코드를 보게 되었다.
boolean 타입을 사용하지 않고 !1 혹은 !0 을 사용하는 코드이다.

 filtering: {
   value: {
     enabled: { value: !1, type: "boolean" },
	 ...

!1을 사용하는 이유

문자 수 절약 (Minification 효과)

false는 5글자, !1은 2글자이므로 코드 크기를 줄일 수 있음.
압축된 코드에서 활용 가능.
타입 강제 변환(Boolean Casting) 명확성

!1은 1을 boolean으로 변환한 후 false로 만듦.
false와 동일한 효과지만, 불필요한 Boolean(1) 변환을 피할 수 있음.
일부 코드 스타일에서 선호됨

특정 프로젝트나 코드 스타일에서는 축약형으로 !1을 사용하기도 함.

!1을 쓰지 않는 게 나은 경우

가독성 저하

false는 누구나 직관적으로 이해할 수 있지만, !1은 한 번 더 해석해야 할 수도 있음.
협업 프로젝트에서는 false가 더 명확할 수 있음.
의미적으로 부자연스러움

false는 명시적으로 거짓을 의미하지만, !1은 변형된 표현이라 코드 스타일에 따라 혼란을 줄 수 있음.

결론

✅ 코드 크기를 줄이거나 압축된 코드에서 사용하면 유리
✅ boolean 변환을 명확하게 하고 싶을 때 사용 가능
❌ 가독성을 중시하는 코드에서는 false가 더 나음

해당 라이브러리 파일에서 이 표기법을 쓴 경우는 약 5,000개 정도
boolean 값 대신 이렇게 사용함으로써 12,500자를 줄였다.

profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글