Код маминой подруги

Логотип телеграм канала @pr0_js — Код маминой подруги К
Логотип телеграм канала @pr0_js — Код маминой подруги
Адрес канала: @pr0_js
Неактивный
Категории: Технологии
Язык: Русский
Количество подписчиков: 1.25K
Описание канала:

Фишки, заметки, интересные методы и функции Javascript в одном канале
Сотрудничество @m4ff1n

Рейтинги и Отзывы

3.50

2 отзыва

Оценить канал pr0_js и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

0

2 звезд

1

1 звезд

0


Последние сообщения

4 ноя 2022
Научиться разработке сайтов гораздо проще, чем ты думаешь!

Ведь мы нашли новый телеграм-канал, в котором опытные разработчики делятся с вами действительно полезными материалами и наработками за годы своей практики

Там вы найдёте:

1. Практику и теорию по HTML, CSS и JS
2. Задачи с пояснениями
3. Прочие плюшки и полезности

Если ты хочешь ворваться в IT и начать зарабатывать на этом, то тебе однозначно будет полезен этот канал
243 views09:01
Подробнее
Поделиться:
Открыть/Комментировать
4 ноя 2022
Метод arr.splice(str)

Что делать, если потребуется удалить элемент из массива? Да, можно попробовать сделать это с помощью delete.
Но таким способом можно удалить только значение элемента (arr.length не изменится), но не сам элемент.

Поэтому нужно использовать специальные методы, например arr.splice.

В коде выше с помощью метода, начиная с позиции 1, убран 1 элемент.

#методы #массивы
325 views06:46
Подробнее
Поделиться:
Открыть/Комментировать
3 ноя 2022
Оператор расширения (...)

Допустим, что у нас есть встроенная функция Math.max. Она возвращает наибольшее число из списка.
И допустим, у нас есть массив чисел
[3, 5, 1]. Как вызвать для него Math.max?
Просто так их не вставишь — Math.max ожидает получить список чисел, а не один массив.

Конечно, мы можем вводить числа вручную : Math.max(arr[0], arr[1], arr[2]). Но это непрофессиАНАЛьно, и аргументов может быть очень много.

И тут нам поможет оператор расширения (...).
Если остаточные параметры (...) делают из аргументов массив, то тут все в точности наоборот.

Когда ...arr используется при вызове функции, он «расширяет» перебираемый объект arr в список аргументов.
Таким образом мамкины программисты могут передать несколько итерируемых объектов и даже комбинировать оператор расширения с обычными значениями.

#функции #операторы
454 views16:20
Подробнее
Поделиться:
Открыть/Комментировать
2 ноя 2022
Остаточные параметры (...)

Остаточные параметры могут быть обозначены через три точки .... Буквально это значит: «собери оставшиеся параметры и положи их в массив».

Мы можем положить первые несколько параметров в переменные, а остальные – собрать в массив.
В приведенном коде первые два аргумента функции станут именем и фамилией (Илон Маск), а третий и последующие превратятся в массив titles

#функции
596 views12:18
Подробнее
Поделиться:
Открыть/Комментировать
31 окт 2022
Map

Map – это коллекция ключ/значение, как и Object. Но основное отличие в том, что Map позволяет использовать ключи любого типа.
Например Map может использовать объекты в качестве ключей.

Использование объектов в качестве ключей – одна из наиболее важных функций Map. Это то что невозможно для Object. Строка в качестве ключа в Object – это нормально, но мы не можем использовать другой Object в качестве ключа в Object.

#theory
857 views05:01
Подробнее
Поделиться:
Открыть/Комментировать
30 окт 2022
Set

Объект Set – это особый вид коллекции: «множество» значений (без ключей), где каждое значение может появляться только один раз.

Основная «изюминка» – это то, что при повторных вызовах set.add() с одним и тем же значением ничего не происходит, за счёт этого как раз и получается, что каждое значение появляется один раз.

Например, мы ожидаем посетителей, и нам необходимо составить их список. Но повторные визиты не должны приводить к дубликатам. Каждый посетитель должен появиться в списке только один раз.

Множество Set – как раз то, что нужно для этого

Identifier 'mary' has already been declared

Если вы внесете дважды одно и то же значение то получите ошибку

#set #типы_данных
815 views05:00
Подробнее
Поделиться:
Открыть/Комментировать
29 окт 2022
Объекты

Может хранить множество значений как свойства.

Объявляется при помощи фигурных скобок {}, например: {name: "Юрий", age: 30}. В JavaScript есть и другие виды объектов: например, функции тоже являются объектами.

Одна из лучших особенностей объектов – это то, что мы можем хранить функцию как одно из свойств объекта.

#объекты
700 views05:00
Подробнее
Поделиться:
Открыть/Комментировать
28 окт 2022
Object.entries()

Данный метод возвращает массив собственных перечисляемых свойств указанного объекта в формате [key, value], в том же порядке, что и в цикле for...in (разница в том, что for-in перечисляет свойства из цепочки прототипов).

Порядок элементов в массиве который возвращается Object.entries() не зависит от того как объект объявлен.
Если существует необходимость в определённом порядке, то массив должен быть отсортирован до вызова метода, например 
Object.entries(obj).sort((a, b) => a[0] - b[0]);.

#методы
752 views05:01
Подробнее
Поделиться:
Открыть/Комментировать
27 окт 2022
Object.entries()

Если у нас уже есть обычный объект, и мы хотели бы создать Map из него, то поможет встроенный метод Object.entries(obj), который получает объект и возвращает массив пар ключ-значение для него, как раз в этом формате.
Так что мы можем создать Map из обычного объекта

В коде Object.entries возвращает массив пар ключ-значение: [ ["name","John"], ["age", 30] ].
Это именно то, что нужно для создания Map.

#map
719 viewsedited  05:01
Подробнее
Поделиться:
Открыть/Комментировать
26 окт 2022
Ключевое слово «this»

Как правило, методу объекта обычно требуется доступ к информации, хранящейся в объекте, для выполнения своей работы.
Например, коду внутри user.sayHi() может потребоваться имя пользователя, которое хранится в объекте user.

Для доступа к информации внутри объекта метод может использовать ключевое слово this.
Значение this – это объект «перед точкой», который используется для вызова метода.

В данном примере во время выполнения кода user.sayHi() значением this будет являться user (ссылка на объект user).

Технически также возможно получить доступ к объекту без ключевого слова this, обратившись к нему через внешнюю переменную (в которой хранится ссылка на этот объект)

Но если мы решим скопировать ссылку на объект user в другую переменную, например, admin = user, и перезапишем переменную user чем-то другим, тогда будет осуществлён доступ к неправильному объекту при вызове метода из admin.

#методы
764 views05:01
Подробнее
Поделиться:
Открыть/Комментировать
25 окт 2022
Object.preventExtensions()

Метод Object.preventExtensions() предотвращает добавление новых свойств к объекту (то есть, предотвращает расширение этого объекта в будущем)

#объекты
682 views05:00
Подробнее
Поделиться:
Открыть/Комментировать
24 окт 2022
Cинтаксис window.оpen

window.open(url, name, params)

url
URL для загрузки в новом окне.

name
Имя нового окна. У каждого окна есть свойство window.name, в котором можно задавать, какое окно использовать для попапа. Таким образом, если уже существует окно с заданным именем – указанный в параметрах URL откроется в нем, в противном случае откроется новое окно.

params
Строка параметров для нового окна. Содержит настройки, разделённые запятыми. Важно помнить, что в данной строке не должно быть пробелов. Например width=200,height=100.

#попап
714 viewsedited  12:10
Подробнее
Поделиться:
Открыть/Комментировать
24 окт 2022
Открытие окон и методы window

Всплывающее окно («попап» – от англ. Popup window) – один из способов показать пользователю ещё один документ.
Достаточно запустить:

window.open('https://t.me/pr0_js/')

… и откроется новое окно с указанным URL. Большинство современных браузеров по умолчанию будут открывать новую вкладку вместо отдельного окна.

#попап
711 views05:05
Подробнее
Поделиться:
Открыть/Комментировать
23 окт 2022
Стрелочные функции

Существует очень простой и лаконичный синтаксис для создания функций.
Он называется «функции-стрелки» или «стрелочные функции» (arrow functions).

Таким образом создается функция, которая принимает аргументы, затем вычисляет заданное выражение в правой части с их использованием и возвращает результат.

#синтаксис #функции
752 views05:05
Подробнее
Поделиться:
Открыть/Комментировать
22 окт 2022
Объекты. Оператор "in"

Есть одна особенность жиес. Она заключается в том, что мы можем получить доступ к любому свойству объекта, даже если этого свойства не существует - ошибку не выдаст (проверял).
При обращении к такому свойству нам просто вернет undefined. Так можно проверить существует ли объект.

Фишка в том, что если компуктерщик даст свойству значение undefined, то при вызове свойства нам вернет undefined :)

Но обычно для «неизвестных» или «пустых» свойств используется значение null. И если все таки раз в тысячу лет кто-то дал значение "ундефинет" можно использовать оператор "in", чтобы определить его бытие

#объекты
727 viewsedited  16:05
Подробнее
Поделиться:
Открыть/Комментировать
22 окт 2022
Имена свойств объектов

Где-то миллиард постов назад я писал, что имя переменной не может совпадать с зарезервированными словами, такими как «for», «let», «return» и т.д.

Но для свойств объекта такого ограничения нет.
Иными словами, нет никаких ограничений к именам свойств. Они могут быть в виде строк или символов
Все другие типы данных будут автоматически преобразованы в строки.

Кодоклепатели даже могут использовать число 0 в качестве ключа, оно просто превратится в строку "0"

#объекты
689 views13:05
Подробнее
Поделиться:
Открыть/Комментировать
22 окт 2022
Свойство из переменной

В реальном коде часто нам необходимо использовать существующие переменные как значения для свойств с тем же именем.

В приведенном коде название свойств name и age совпадают с названиями переменных, которые мы подставляем в качестве значений этих свойств.
Кодеры так часто это использовали, что существуют специальные короткие свойства для упрощения этой записи.

Вместо name:name можно написать просто name
708 views05:05
Подробнее
Поделиться:
Открыть/Комментировать
21 окт 2022
Объекты

Можно использовать квадратные скобки в литеральной нотации для создания вычисляемого свойства.

Смысл вычисляемого свойства прост: запись [fruit] означает, что имя свойства необходимо взять из переменной fruit.

И если посетитель введёт слово "apple", то в объекте bag теперь будет лежать свойство {apple: 5}.


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

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

#объекты #квадратные_скобки
723 views19:05
Подробнее
Поделиться:
Открыть/Комментировать
21 окт 2022
Объекты

Квадратные скобки также позволяют обратиться к свойству, имя которого может быть результатом выражения. Например, имя свойства может храниться в переменной.

Переменная key может быть вычислена во время выполнения кода или зависеть от пользовательского ввода. После этого мы используем её для доступа к свойству. Это даёт нам большую гибкость.

Запись «через точку» такого не позволяет :(

#объекты #квадратные_скобки
708 views15:05
Подробнее
Поделиться:
Открыть/Комментировать
21 окт 2022
Объекты

Для свойств, имена которых состоят из нескольких слов, доступ к значению «через точку» не работает
например:
admin.drinks vodka = true

JavaScript видит, что мы обращаемся к свойству admin.drinks, а затем идёт непонятное слово vodka. В итоге синтаксическая ошибка.

Для таких случаев существует альтернативный способ доступа к свойствам через квадратные скобки. Такой способ сработает с любым именем свойства.

#объекты #квадратные_скобки
721 views13:05
Подробнее
Поделиться:
Открыть/Комментировать
Код маминой подруги @pr0_js
Открыть в Telegram