a = 1;
alert(!a) // -> false : a is not not defined
alert(!!a) // -> true : a is not not defined
Для !a
он проверяет, не определено ли a
, а !!a
проверяет, определена ли переменная.
!!a
совпадает с !(!a)
. Если определено a
, a
- true
, !a
- false
, а !!a
- true
.
Вариант А лучше, даже если вы его сейчас не видите.
Хранение нескольких значений в одной «ячейке» базы данных является ошибкой при любом взгляде на нее (хотя, к сожалению, это очень распространенная ошибка), не говоря уже о том, что это нарушение первой нормальной формы , в которой конкретно говорится что каждый столбец может содержать только одно атомарное значение в каждой строке (хотя исходное правило использует другую терминологию).
Недостатки многочисленны, и некоторые из них являются критическими, в том числе (но не ограничиваясь ими):
Список можно продолжать и продолжать - но я думаю, что каждый должен получить картину сейчас - столбец базы данных следует использовать для хранения одного значения для каждой строки - каждый раз.
Первый вариант предпочтительнее, на мой взгляд. Это облегчает поиск ответов на различные вопросы для одного бренда и на один и тот же вопрос по брендам.
Поиск идентификатора вопроса кажется плохой заменой. С одной стороны, это исключает простые отношения внешнего ключа с таблицей questions
и таблицей brands
. Я большой поклонник явных внешних связей.
Конечно, чтобы сделать эту работу, вам понадобится метод для хранения «нет бренда» или «бренд не имеет отношения». Одним из способов является использование NULL
для таких ответов.