Perhaps it depends what you're doing?
IMO:
.where('column_a', '=', 'value1')
.and(q => q.isNull('column_b').orWhere('column_b', '=', 'value2')))
is a lot less readable than: WHERE
column_a = 'value1'
AND (column_b IS NULL OR column_b = 'value2')