Oznaka !optional v @extend v SASS

Pri razširjanju izbirnika lahko naletimo na napako, ko direktiva @extend ni delovala pravilno. Na primer, če imate naslednjo kodo:

style.scssa.info {
  @extend .main;
}

Če noben izbirnik ne bo vseboval .main, bo pri prevajanju prišlo do napake. V tem primeru moramo združiti zaporedja izbirnikov, za kar uporabimo direktivo @extend.

Poleg tega bo prišlo do napake, če bo izbirnik, ki vsebuje .main, takšen: h1.main, kar je razloženo s konfliktom med a in h1.

Zato lahko po potrebi dovolite direktivi @extend, da ne ustvarja novih izbirnikov s pomočjo oznake neobveznosti !optional, zapisane za izbirnikom. Na primer:

style.scssa.info {
  @extend .main !optional;
}