>>In case of a checkbox, however, it did happen to me that I changed my mind about a logical field, and turned it into a n(1) - everything else about a checkbox worked, except code which relied on its .value being logical. Which is how I acquired the habit of using empty(this.value) for checkboxes.
>
>
IF EMPTY( THIS.VALUE )
is not a priori natural English, unless reading IF THIS VALUE IS EMPTY is an accurate wording of the functional design. A checked box is a checked box or a positive indication, but it is only seldomly a non-empty value. In other words, your example is not strong in my opinion.
Working on an app where some checkboxes bind to numeric and some to logical fields, this technique saves me a look into the table structure. IOW, the readability isn't the issue here, it's my time.