Ванильный JS по-прежнему считается библиотекой?

25

Я совсем недавно узнал, что VanillaJS (документ?) - это библиотека, которая только в комплекте с 99% браузеров и не является точно нативным JavaScript (шок моей жизни). При написании собственной библиотеки я обычно избегаю всех полезных вещей, в основном библиотек. Теперь у меня есть три вопроса:

  1. VanillaJS все еще считается библиотекой?
  2. Есть ли способ сделать что-нибудь с DOM без VanillaJS?
  3. Являются ли основные библиотеки на основе VanillaJS или нативного JS (без документов)
DividedByZero
источник
70
Vanilla JS - это шутка. Вы тянете нашу ногу, или я должен уточнить?
2
@ RandomUser, я получил его во второй раз, когда я просматривал страницу VanillaJS. В первый раз я подумал, что это простая вспомогательная библиотека, которая позже стала «частью JS», когда браузеры начали реализовывать ее функции. Так что меня это не интересовало.
Джесвин Хосе
1
@aitchnyu ТОЧНО , что я думал! Неудивительно, что мои правки в Википедии были отклонены: P
DividedByZero
1
Не быть со знаменитым паром JS .
Нил
1
@baultista IIRC, когда я ссылался на POJO (Plain Old Java Object), я видел, как кто-то шутил, что это созданный шаблон, но ему нужно было классное имя, чтобы конкурировать с альтернативами.
Джесвин Хосе

Ответы:

65

Это шутка, или, скорее, остроумный способ сделать точку. «vanilla X» означает «X в основном виде» или «X без чего-либо дополнительного», поэтому «Vanilla JS» - это JavaScript, представленный браузером. VanillaJS является родным JavaScript . Это включает в себя DOM, различные новомодные API, основные функции языка. Он исключает сторонний код, то есть то, что обычно называют библиотеками или фреймворками. Люди, стоящие за этим, вероятно, хотят указать на преимущества таких вещей, создавая их как маркетинг для сторонней структуры. В мире JavaScript есть или, по крайней мере, когда-то существовала тенденция к созданию фреймворков для каждой проблемы, независимо от того, насколько тривиальным будет решение в «ванильном» JavaScript.


источник
2
Не совсем синоним DOM, но я понимаю вашу точку зрения. Используя «VanillaJS» для манипулирования DOM, нужно знать обо всех различиях между реализациями DOM. Если вы используете JQuery для манипулирования DOM, нужно знать только абстрагированный DOM, который предоставляет jQuery.
Эндрю Хоффман
1
@AndrewHoffman: Различия между реализациями не так велики, как раньше; теперь, когда IE наплевать на стандарты, в наши дни можно легко написать кросс-браузер-совместимый код.
Чао
6
Механизмы JavaScript (v8, spidermonkey, chakra) не включают DOM. DOM добавлен средой браузера.
Стоп Harm Monica
6
Отличная шутка на эту тему: needsmorejquery.com
Almo
2
@RandomUser API-интерфейс DOM не является частью самого языка Javascript. Это стандарт W3C, который должны реализовывать совместимые браузеры. Например, посмотрите эту ссылку, где они определяют, что такое элемент: w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/… и эту ссылку, где они определяют, как DOM должен быть представлен в Javascript: w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/…
Пол