class
є ключовим словом у javascript, а JSX - розширенням javascript. Це основна причина, чому React використовує className
замість class
.
У цьому плані нічого не змінилося.
Щоб трохи більше розширити це. А ключове слово означає , що знак має особливе значення в синтаксисі мови. Наприклад у:
class MyClass extends React.Class {
Токен class
позначає, що наступний маркер є ідентифікатором, а далі йде декларація класу. Див. Ключові слова Javascript + зарезервовані слова .
Той факт, що маркер є ключовим словом, означає, що ми не можемо використовувати його в деяких виразах, наприклад
const props = {
class: 'css class'
}
const props = {
'class': 'css class'
};
var class = 'css';
var clazz = 'css';
props.class = 'css';
props['class'] = 'css';
Одна з проблем полягає в тому, що ніхто не може знати, чи не виникне якась інша проблема в майбутньому. Кожна мова програмування все ще розвивається і class
насправді може бути використана в якомусь новому суперечливому синтаксисі.
Таких проблем не існує className
.