|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
|
||||||
Параметр функции, который может быть задан по умолчанию не определён при его передаче со значением, отличным от значения по умолчанию17.01.2026, 07:09. Показов 1204. Ответов 48
Метки нет (Все метки)
Здравствуйте! Вот столкнулся с таким поведением. В некотором классе A определена функция createEncrypted, у которой параметр refresh задан по умолчанию. Когда я меняю его значение на другое (строка 42), это приводит к ошибке ReferenceError: refresh is not defined. Может ли это быть из-за атрибута объекта с тем же именем, которому присваивается значение refresh, вроде как нет. Тогда почему это не работает?
https://developer.mozilla.org/... parameters В другом месте с тринарной функцией, которая вызывается в другой функции и у которой два последних параметра - параметры по умолчанию, это работает.
0
|
||||||
| 17.01.2026, 07:09 | |
|
Ответы с готовыми решениями:
48
"В поле может быть введено только одно слово, пробелы могут быть или не быть с начала слова и в конце" Как передать параметр из jsp java страницы в функцию javascript и возвратить обратно другой параметр
|
|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
|
||||||||||||||
| 19.01.2026, 11:34 [ТС] | ||||||||||||||
|
А если у вас первые три - обязательные (д.б. определены в области видимости), а остальные задаются по умолчанию из определения функции и если нужно только пятому при каком-то вызове что-то другое присвоить, отличное от значения по-умолчанию.
0
|
||||||||||||||
|
3857 / 1740 / 432
Регистрация: 14.03.2022
Сообщений: 4,434
|
||||||||||||
| 19.01.2026, 11:44 | ||||||||||||
![]() Вот тебе аналог.
![]() Добавлено через 5 минут Alex_py, или вообще вот так...
1
|
||||||||||||
|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
|
|||||||||||||
| 19.01.2026, 12:05 [ТС] | |||||||||||||
|
Как я понял, почему у меня в этом случае происходит ReferencedError
Потому что у refresh нет определения. И такой вызов недопустим, даже если refresh при передаче как параметр - у него просто меняется значение на другое. "Логика" js другая. Это не атрибут / параметр, а переменная, которая не определена. И сбивает с толку, что в другом месте это работает (не в классе, а в другой функции) Добавлено через 8 минут Но это работает:
Ну хорошо, немного непривычно работать в особенностях js пока.
0
|
|||||||||||||
|
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
|
|||||||||
| 19.01.2026, 12:49 | |||||||||
Поставьте в файле 'use strict' первой строкой, и тоже будет вылетать ошибка. Внутри классов и модулей строгий режим включен автоматически по умолчанию. Добавлено через 10 минут Добавлено через 2 минуты
0
|
|||||||||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 864
|
|||||||
| 19.01.2026, 13:31 | |||||||
0
|
|||||||
|
3857 / 1740 / 432
Регистрация: 14.03.2022
Сообщений: 4,434
|
|
| 19.01.2026, 14:09 | |
|
kidASM, читал книжку "TypeScript Подробное Руководство" Дата последнего обновления: 12/1/2022?
Если прям все понял и в этом спокойно разбираешься - мое почтение. ![]() Если только начальный уровень - тогда рано еще что-то обсуждать. Добавлено через 5 минут Вот моя "библиотечка" по TS - TypeScript быстро - Основы TypeScript - TypeScript полное руководство - Рецепты TypeScript Программирование на уровне типов для реальных задач - Эффективный TypeScript 62 способа улучшить код Начитавшись всего этого - не готов использовать в работе. Поскольку это все нужно еще объяснить подчиненным и, помимо JS, научить все это правильно использовать.
0
|
|
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 864
|
|||
| 19.01.2026, 17:20 | |||
![]() Когда начали разбираться (не моя таска была), то всё ok. Запрос приходит, проверяется, обрабатывается, в базу запрос уходит, из базы приходит ответ (с правильными данными), но на фрот приходит пустой ответ. В итоге, просто убрали сериализатор, и написали фронту чтоб изменили переменные. И всё заработало как нужно, и работает до сих пор. С другой стороны. Много раз видел когда браузер делает 3, 4, 5 и более запросов (сразу) на один роут. А сервер эти все запросы обрабатывает и выдаёт ответ. Т.е. если человек не знает как должно быть, как должно работать, то TypeScript никак не поможет. Для джуна TypeScript может быть и хорошая вещь, но для мидла и выше - TypeScript только мешает. Да ещё и транспилирует код с медленный JavaScript. Если для фронта это не критично (функция отработает за 50 или 500 миллисекунд), пользователь это всё-равно не заметит. А для сервера (Node.js/Bun/Deno) - это очень критично, если запрос будет обрабатываться 500 мс. Более того, недавно попросили найти причину, почему сервер на Expressjs в стрес-тестах обрабатывает 17 запросов в минуту (я не ошибся, не в секунду (что тоже не приемлемо), а именно в минуту). А так, рабочий сервер написанный на TypeScript. Так что, если программист не знает JavaScript, то TypeScript поможет только наделать на несколько ошибок меньше. Но ошибки всё-равно будут. П.С. Я знаю в чём ошибка с Modbus.
0
|
|||
|
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
|
||
| 19.01.2026, 17:37 | ||
|
Кстати на последних версиях node (пока в качестве экспериментальной функции) так и сделали, что теперь 99% ts может работать без всякой предварительной трансляции. Информация о типах при парсинге просто заменяется пробелами https://nodesource.com/blog/No... t-Natively
0
|
||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 864
|
|||
| 19.01.2026, 17:45 | |||
|
В том то и дело, что никого (из программистов) не волнует какой JS код генерит TS.
Добавлено через 3 минуты
0
|
|||
|
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
|
|||
| 19.01.2026, 17:49 | |||
|
Что написали, то и получили. Добавлено через 2 минуты Сам попробуй. Возьми свой ts файл и просто убери информацию о типах (сотри или замени на пробелы). Что получится? Получится чистый js.
0
|
|||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 864
|
|||
| 19.01.2026, 18:05 | |||
|
0
|
|||
|
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
|
||
| 19.01.2026, 18:15 | ||
|
Чистый js и jsDoc. При работе в VScode информация о типах, которая берется из jsDoc помогает. Ошибок с типами нет, потому, что vsc все проверяет и не дает их делать. Заодно иногда ценно подсказывает - "Аааа, вот эта переменная может быть null (после возврата из функции), а ты проверку не делаешь!" Конечно jsDoc более многословен, чем ts (да и не все возможности), но нет никакого этапа транспиляции - информация о типах задается просто в комментариях.
0
|
||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 864
|
|
| 19.01.2026, 18:31 | |
|
0
|
|
|
3857 / 1740 / 432
Регистрация: 14.03.2022
Сообщений: 4,434
|
||||
| 19.01.2026, 18:38 | ||||
|
Добавлено через 2 минуты Добавлено через 3 минуты ![]() Умелый спец если что и начал использовать - он в этом, как правило, разобрался и может объяснить зачем он это использует. Молодняк может накуролесить даже в JS. Если возьмет еще и TS - накуролесит еще больше!
0
|
||||
|
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
|
||
| 19.01.2026, 18:45 | ||
|
Ну и есть такой момент, как я читал: Webstorm тоже может делать проверку типов с использованием jsDoc. Но вроде пишут, что синтаксис в некоторых случаях отличается от того, что требует vsc.
0
|
||
|
3857 / 1740 / 432
Регистрация: 14.03.2022
Сообщений: 4,434
|
||||
| 19.01.2026, 18:47 | ||||
![]() ![]() Даже не предполагал что буду защищать TS... Но вы там нагородили какую-то дичь, а вините TS. В книжках, что я привел выше, разбирают достаточно сложные хитросплетения... Рассматривают что получилось в итоге... ![]() В итоге, при писании на TS, просто добавляются проверки. Это при правильном использовании TS. ![]() При дилетантском подходе может получиться х/з что. ![]() kidASM, в любом случае, если интересна тема с TS, приводи тестовые примеры - будем разбирать. Будем прокачиваться и в TSах.
0
|
||||
| 19.01.2026, 18:53 | ||
|
Небольшая цитата
Когда-то Алиса произнесла "Приходится бежать со всех ног, чтобы только оставаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее". источник https://github.blog/news-insig... ript-to-1/
0
|
||
|
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
|
||
| 19.01.2026, 18:59 | ||
|
Начинается новый проект. На чем будем делать? На ts и React! А почему? А потому, что команда больше ничего не знает. А почему не знает? А потому, что сказали, что все пишут на ts и React и мы учили именно это. К тому, что это кардинально лучше всего остального, и дает какие то весомые преимущества по сравнению с остальным - речи тут нет. Многие пишущие на ts и реакт не знают ни js (в значительном объеме) ни чистого html. Я как то долго ржал, когда читал статью одного из создателей Vite, где он признавался, что с большим удивлением узнал, что теги типа <img>, <br>, <input> в html 5 можно (и нужно) указывать без "/>" в конце
0
|
||
|
3857 / 1740 / 432
Регистрация: 14.03.2022
Сообщений: 4,434
|
||
| 19.01.2026, 20:41 | ||
![]() А мы зарабатываем не тем, что нововведения продаем.
0
|
||
| 19.01.2026, 20:41 | |
|
NestJS/Swagger. Как правильно описать body параметр, что бы он отображался в документации как параметр body
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
155. Min Stack
Задача:
Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1).
Методы:
NewMinStack() *MinStack — инициализация
Push(val int) —. . .
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|