Вход | Регистрация


Информационные технологии ::

Метки: 

Кто знает JavaScript, объясните нубу синтаксис?

Я
   Брудвар
 
17.10.17 - 12:21
Решил выучить ЖаваСкрипт, дошел до стилей. Разбираю вот такой рабочий JavaScript пример в файле .js:

import styled from 'styled-components';

const Wrapper = styled.ul`
  position: absolute;
  width: 465px;
  margin: 0;
`;

Объясните, что это за синтаксис, когда после styled.ul стоят ковычки `` с текстом внутри. Это вызов функции? Тогда почему нет скобок: ()? Если это не функция, тогда что? Как жаваскрипт это обрабатывает?
 
  Рекламное место пустует
   kiruha
 
1 - 17.10.17 - 12:30
там же описан стиль просто явным образом
   FIXXXL
 
2 - 17.10.17 - 12:32
(1) типа [] в 1С? :)
   Asmody
 
3 - 17.10.17 - 12:49
Это называется "Tagged Template". Если кратко, то это вызов функции, а то, что в обратных кавычках, будет преобразовано в массив параметров.

Вот из доки по библиотеке https://www.styled-components.com/docs/advanced#tagged-template-literals

А вот на русском https://github.com/FrontenderMagazine/es6-in-depth-template-strings/blob/master/rus.md (вторая половина статьи)
   Asmody
 
4 - 17.10.17 - 12:50
Вот еще https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/templatestrings#Тегированныешаблонные_строки
   Зуекщмшср
 
5 - 17.10.17 - 12:54
Я JavaScript не знаю, но посмотрел на этот кусок, и он меня уже бесить начал. Как на нем люди пишут?
P.S. Изучай чистый Java, получишь больше удовольствия.
   Razzle Kay
 
6 - 17.10.17 - 13:02
В смысле чистый джава? джаваскрипт это джава с дополнениями ? рили ?
   Nolan
 
7 - 17.10.17 - 13:09
(0) по каким материалам учишь?
   Лефмихалыч
 
8 - 17.10.17 - 13:16
(6) это два разных, не связанных, языка
   Брудвар
 
9 - 17.10.17 - 13:40
(7) сначала почитал все что на learn.javascript.ru, потом просто разные рабочие проекты скачиваю с гитхаба и разбираюсь как работают.
   Брудвар
 
10 - 17.10.17 - 13:41
(3) Спасибо, отлично помог!
 
 
   Брудвар
 
11 - 17.10.17 - 13:45
(5) Абсолютно согласен. Бесит когда в нормальный язык вставляют всякий вырвиглаз синтаксис и непонятные слова типа margin: 0;, правда?

Не могли просто функцию со скобками написать, что ли.
   Брудвар
 
12 - 17.10.17 - 13:46
(6) Они очень похожи, на базе одного и того же языка, просто развиваются в разных направлениях, и у каждого свои дополнения.
   Asmody
 
13 - 17.10.17 - 19:17
(12) Они абсолютно не похожи. Начать, хотя бы, с того, что java –  объектно-ориентированный язык со строгой типизацией. А js - язык динамический и функциональный. ООП в нем весьма специфический.
И то, что js содержит в названии "java", скорее, историческое недоразумение.
Общего в них только "си-шный" синтаксис.
   Брудвар
 
14 - 17.10.17 - 20:55
(13) Они похожи между собой гораздо больше чем каждый похож на С
То что они чем-то отличаются, это и так понятно.
   Горностаев
 
15 - 17.10.17 - 21:00
(0)это стили CSS
   Горностаев
 
16 - 17.10.17 - 21:01
Есть такие таблицы стилей. Для элементов html Страницы. они характеризуются свойствами такими, как цвет, размер, положение и т.п.   И вот у тебя они просто перечислены.
   Брудвар
 
17 - 17.10.17 - 21:05
(15) position: absolute - это чтоли тоже стиль? Я думал ЖаваСкрипт такой специальный.
   Горностаев
 
18 - 17.10.17 - 21:08
(17)ну жава скрипт же использует и html и css когда ему это нужно.

position - это такое ствойство. Оно бывает абсолютное, фиксированное, относительное.  то есть допустим есть прямоугольник. и нужно разместить в нем квадрат. то можно указать ему разные виды положений.  К примеру внутри относительно квадрата.  можно сделать чтобы он был фиксированным и не смотря на вложенность в квадрат всегда имел конкретные координаты относительно окна и т.п.

position absolut имеет координате относительно родительского элемента если у того задано свойство relative

ну там свои ньюансы.
   Горностаев
 
19 - 17.10.17 - 21:11
(17)можно задавать чтобы на фигуру влияли расположения других фигур. а можно сделать чтобы не влияли. вот твой ник написан в блоке слева. под твоим ником указана дата и время. если сдвинуть твой ник, то и дата время сдвинется.

А можно сделать чтобы они не зависиле друг от друга. ну короче просто это способ расположения. И в зависимости от вида способа расположения добавляются еще другие свойства.
tob, bottom, left, rigth  margin, padding
   Брудвар
 
20 - 17.10.17 - 21:14
(19) О, спасибо! Объяснил даже больше чем я планировал узнать за сегодняшний день! Сразу видно, профессионал, не то что некоторые, только нафлудили в теме.
   Горностаев
 
21 - 17.10.17 - 21:15
кстати styled.ul  - ну это список.
вот там просто задали его положение и ширину.  видимо визуальная компонента какая-нибудь.
   Горностаев
 
22 - 17.10.17 - 21:15
(20)незачто.
   Брудвар
 
23 - 17.10.17 - 21:17
(21) Это я сам уже понял что там просто UL список в котором еще LI будут.
   Asmody
 
24 - 17.10.17 - 21:25
(15) Ты не въехал. Это не просто css. Это ES6, оформленный "под css". styled.ui – это функция, которая возвращает стилизованный компонент react.
   trdm
 
25 - 17.10.17 - 23:11
(3) спасибо.
   trdm
 
26 - 17.10.17 - 23:14
(24) А из кода js можно узнать какой стандарт в данный момент реализован в браузере? Или надо смотреть агента?
   Брудвар
 
27 - 18.10.17 - 00:36
(26) Лучше всего - проверяешь есть ли сомнительные функции, если они есть, то используешь их, если нет, то не используешь.
Агента смотреть - антипаттерн.
Какой реализован стандарт - тоже не очень хорошо проверять, т.к. он может быть реализован не полностью.
Только не знаю зачем тебе это надо. Есть же готовые библиотеки которые все делают за тебя. Ты свою хочешь написать?
   Razzle Kay
 
28 - 18.10.17 - 05:59
(8) да я то знаю, просто звучало как "Не бери Оперь Астра, бери Астра GTC"
   Брудвар
 
29 - 18.10.17 - 09:09
(28) Что за Астра GTC? Это не опель?



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует