
라이브러리 코드 분석을 하다가 다음과 같은 코드를 보게 되었다.
boolean 타입을 사용하지 않고 !1 혹은 !0 을 사용하는 코드이다.
filtering: {
value: {
enabled: { value: !1, type: "boolean" },
...
문자 수 절약 (Minification 효과)
false는 5글자, !1은 2글자이므로 코드 크기를 줄일 수 있음.
압축된 코드에서 활용 가능.
타입 강제 변환(Boolean Casting) 명확성
!1은 1을 boolean으로 변환한 후 false로 만듦.
false와 동일한 효과지만, 불필요한 Boolean(1) 변환을 피할 수 있음.
일부 코드 스타일에서 선호됨
특정 프로젝트나 코드 스타일에서는 축약형으로 !1을 사용하기도 함.
가독성 저하
false는 누구나 직관적으로 이해할 수 있지만, !1은 한 번 더 해석해야 할 수도 있음.
협업 프로젝트에서는 false가 더 명확할 수 있음.
의미적으로 부자연스러움
false는 명시적으로 거짓을 의미하지만, !1은 변형된 표현이라 코드 스타일에 따라 혼란을 줄 수 있음.
✅ 코드 크기를 줄이거나 압축된 코드에서 사용하면 유리
✅ boolean 변환을 명확하게 하고 싶을 때 사용 가능
❌ 가독성을 중시하는 코드에서는 false가 더 나음
해당 라이브러리 파일에서 이 표기법을 쓴 경우는 약 5,000개 정도
boolean 값 대신 이렇게 사용함으로써 12,500자를 줄였다.