Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2021, 17:07
Новичок на форуме
Отправить личное сообщение для goootlib Посмотреть профиль Найти все сообщения от goootlib
 
Регистрация: 29.06.2021
Сообщений: 4

Зачем в javascript нужны константы ?
Я новичок в js - пришёл сюда недавно из PHP. Прочитал учебник Ильи Кантора, учу Vue.js. Читая темы здесь на форуме и когда просматривал код React'а, заметил склонность некоторых js-программистов объявлять константы, а не переменные. Собственной мой вопрос - зачем стремиться к тому, чтобы объявлять всё через const, а не let ? Это первый вопрос. Второй вопрос заключается в следующем. Зачем некоторые программисты стараются использовать везде функции-стрелки вместо обычных функций, у них ведь нет this и нет arguments ? И последний, флеймовый вопрос. Какой js-фреймворк учить ? Правильно я сделал что выбрал Vue.js ? С чем вы бы посоветовали ознакомиться в первую очередь в фронтенд разработке кроме вёрстки ? Дайте какой-нибудь совет мне.
Ответить с цитированием
  #2 (permalink)  
Старый 23.09.2021, 17:50
Новичок на форуме
Отправить личное сообщение для goootlib Посмотреть профиль Найти все сообщения от goootlib
 
Регистрация: 29.06.2021
Сообщений: 4

Сообщение от goootlib Посмотреть сообщение
Я новичок в js - пришёл сюда недавно из PHP. Прочитал учебник Ильи Кантора, учу Vue.js. Читая темы здесь на форуме и когда просматривал код React'а, заметил склонность некоторых js-программистов объявлять константы, а не переменные. Собственной мой вопрос - зачем стремиться к тому, чтобы объявлять всё через const, а не let ?
Как бы понятно что так скорей всего делают чтобы не было возможности изменить, что уже было объявлено. Но просто в PHP да и во всех остальных языках тоже есть константы, но там их таким образом не используют как в js.
Ответить с цитированием
  #3 (permalink)  
Старый 23.09.2021, 17:53
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,498

Юзать const для неизменных значений - хорошая привычка. Если ты случайно попытаешься изменить const - оно те не даст, в отличие от let\var. Потому в большинстве линтеров правила забиты которые приучают тебя к этому.)

На счёт выбора Vue я лично поддерживаю: лучший фреймворк, где надо думает за тебя, где надо позволяет свободу самовыражения.)
В React куча унылого никому не нужного микроконтроля и устаревшая неудобная система реактивности с бесполезным оверхэдом. Angular - прокрустово ложе с кучей мусора и boilerplate.
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 23.09.2021, 18:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от goootlib
Но просто в PHP да и во всех остальных языках тоже есть константы, но там их таким образом не используют как в js.
Я х/з как в ПХП...
Но именно в некоторых ЯП константы так и используются. Их цель явно что-то определить и не давать потом модифицировать.
Ответить с цитированием
  #5 (permalink)  
Старый 23.09.2021, 18:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от goootlib
Зачем некоторые программисты стараются использовать везде функции-стрелки вместо обычных функций, у них ведь нет this и нет arguments ?
С чего ты взял что они это делают именно "везде"?
Очевидно стрелочные функции используются там где их можно использовать. Иначе были бы проблемы с выполнением кода...
Ответить с цитированием
  #6 (permalink)  
Старый 23.09.2021, 18:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от goootlib
Какой js-фреймворк учить ?
Почитай про все... Выбери (для начала) тот, который тебе больше будет понятен.
Но выгоднее знать про все, т.к. не понятно в какую контору тебе придется устраиваться и что там будут требовать...
Ответить с цитированием
  #7 (permalink)  
Старый 23.09.2021, 18:50
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,709

Сообщение от goootlib
Но просто в PHP да и во всех остальных языках тоже есть константы, но там их таким образом не используют как в js.
Ну в С++ как раз так константы и используют, особенно с указателями.
Сообщение от goootlib
Зачем некоторые программисты стараются использовать везде функции-стрелки вместо обычных функций, у них ведь нет this и нет arguments ?
Далеко не во всех функциях используется this, а arguments и того реже.
А запись стрелочных функций короче. Ну и кроме того, что не надо при вызове тащить this и arguments у интерпретатора появляются дополнительные возможности для оптимизации.

Последний раз редактировалось voraa, 23.09.2021 в 18:53.
Ответить с цитированием
  #8 (permalink)  
Старый 23.09.2021, 21:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Уже прям интрига повисла!
goootlib, каким же образом используются константы в тех "во всех остальных языках"?
Ответить с цитированием
  #9 (permalink)  
Старый 24.09.2021, 00:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,498

Сообщение от voraa Посмотреть сообщение
Ну и кроме того, что не надо при вызове тащить this и arguments у интерпретатора появляются дополнительные возможности для оптимизации.
На счёт "тащить this" - спорный аргумент. ИМХО как раз стрелки "тащат" this - они вынуждены запоминать this окружения и использовать оный откуда бы их не вызывали, в то время как для обычных функций this скорее что-то вроде скрытого простого аргумента: some.func(a) -> func(this = some, a) и на производительность с памятью влиять не должен.)
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 24.09.2021, 08:50
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,709

Сообщение от Aetae
ИМХО как раз стрелки "тащат" this - они вынуждены запоминать this окружения
Функции всегда тащат свое лексическое окружение, что бы иметь возможность реализовывать замыкание. В этом случае this просто переменная из замыкания.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужны умные перерывы в javascript. Alexandru Общие вопросы Javascript 4 06.04.2016 20:53
Требуется javascript ninja для небольшой задачи Achilles_sm Работа 7 01.07.2015 17:33
Бесплатный курс JavaScript (18 уроков)  Bokal Учебные материалы 2 16.11.2014 20:20
javascript вставки в vrml сцены. Передать событие из броузера Proletariy Javascript под браузер 0 10.05.2011 12:26
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24