24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
JS тред Вкатываюсь в js и встал один вопрос, чем let xyu = {} отличается от let xyu = new function() {} ?
>>207926988 (OP) В первом случае ты объявляешь пустой объект, во втором через оператор "new" создаешь функцию. Тебе в js тред. Сюда по всему ты даже базовых вещей не знаешь, куда ты лезешь с let.
>>207926988 (OP) >let xyu = {} Эта хуйня вроде бы называется объектом. То есть просто создал и создал, с ним ничего не происходит. >let xyu = new function() {} Ну а тут типа функция, там внутри может быть всякая хуерга типа циклов, да и вообще что угодно. Хотя непонятно - функция может ли вообще обозначаться перменной? Я такой хуйни не встречал. мимо-html-эксперт с трехмесячным стажем
>>207927097 >во втором через оператор "new" создаешь функцию Ну таки в этом случае let xyu = new function() {} функция конструктор возвращает объект в xyu, а в этом мы сразу делаем объект let xyu = {} ? В итоге в обоих случаях в xyu окажется объект, тогда в чем разница?
>>207927277 А то что я сказал экщемпляр массива, а не класса, тебя не беспокит? бляя вся эта память компиляции сборки такая нудятина я не хочу ааАаАааА
Через NEW function создаётся такой же объект, а не функция! Эта функция выступает для new конструктором. Как js-девелопер, скажу, что на практике нахуй не впилось. Хорошо знать особенности языка это вообще гуд, но если ты только вкатываешься в кодинг вообще - не еби себе мозги этим кунг-фу.
>>207927177 Если я не могу понять смысл твоего пикрелейтеда, то есть ли мне смысл продолжать обучение программированию? Или уже отправить резюме на должность грузчика в "пятерочке"?
>>207927475 Лол, я еще никуда не вкатился. Окончил курсы по веб-разработке, только не смейся, от центра занятости. Работу пока не нашел. и вряд ли найду Знаю html, css и основы js. Ну точне, как - могу высрать какую-нибудь задачку, уравнение решить, какой-нибудь калькулятор запилить. Вопрос ОП-хуя для меня непонятен, я с такими ситуациями не сталкивался.
>>207927568 Думаю, да. Возможны какие-то незначительные побочки. Но, ссылаясь на мой пост, наххххуй оно впилось? Писать с изпользованием этих особенностей и дебажить их особенно - врагу не пожелаешь.
>>207927676 А, ксати, про аллокацию памяти мсье выше не пошутил. Рили, в первом случае объект запиливается статически, во втором - в рантайме. Но снова же, на практике это редко имеет значение.
>>207927927 >Зачем пошел на курсы? Во-первых, нехуй делать, а тут какая-то движуха. Во-вторых, там платили стипендию. В-третьих, ну как бы надо уже профессию получить, уж в 30 то лет пора бы. >Сколько длились эти курсы? 3 месяца. >Вышка есть, а если найду? Есть, но по крайне далекой от айти специальности. >Чем тебе самообразование через интернеты не устраивает? Наверное тем, что я инфантильный еблан и мне не хватает силы воли. А на курсах все-таки заставляли каждый день хоть что-то делать. Ну и плюс дома мамака 24/7 трындит, психует, портит мне настроение. В таких условиях как-то уже нахуй не до программирования, тут просто выпилиться охото.
>>207928081 >3 месяца. А я вот за 3 месяца только в основах html и css разобрался, что-то нормальное сверстал только через 5 месяцев: адаптивная верстка из psd c ретинизацией изображений, на scss. Это нормально за 5 месяцев https://vertically-challenged.github.io/Pink_1/ или на каких-то курсах от центра занятости я бы смог все это изучить быстрее?
Как можно изучить js за 3 месяца? Тут аноны про годы вката говорят
>>207928401 Ну нужно чтобы было что-то адекватное, решение реально рабочей задачи, чтобы работодатель пробежавшись по ссылкам и понял, что ты не хуй, и тебе можно доверить реальную работу
>>207928887 >ак можно изучить js за 3 месяца? А никак. Нам показали что такое переменные, циклы и объекты. Ну в общем-то и все. И jquery - то, что вместо getElementById, можно просто написать $. И пиздец. Больше ничего не было, поэтому я нихуя и не знаю.
>>207929420 >в sass/less вкатился? Честно говоря, впервые встречаю эти слова. > https://learn.javascript.ru/ Добавил в закладки. А вообще я сейчас htmlacademy дрочу. Правда, она какая-то слегка всратая, да ну хуй с ней, вроде бы справляюсь.
Но если честно, мотивация падает с каждым днем. Я уже на грани того, чтобы бросить и идти в дворники.
>>207929631 >Я уже на грани того, чтобы бросить и идти в дворники. Не сдавайся, за год-полтора вкатишься, главное катиться.
>htmlacademy Да, это говно как-то утомляет, я дропнул через пару часов. Потом тупо прочитал https://html5book.ru/ прочитал про html и css, полистал справочник, потыкался, попробовал поделать всякие штуки, которые приходят в голову, чтобы закрепить синтаксис в голове и подбодрить себя https://vertically-challenged.github.io/ , про JS на html5book читать не стоит. После html5book.ru и Эрика Фримена со своей книжкой сомнительной полезности на 2019 год про HTML и CSS, в которой я посмотрел, как раньше верстали наши деды, я посмотрел эти два интенсива:
2-й досмотрел только до погружения в автоматизацию, тому що дальше нужны знания js. Gulp освоил (на уровне, чтобы работать с scss) по каким-то роликам с ютуба, сделав шпаргалку, чтобы потом не забыть, как все это настраивать https://vertically-challenged.github.io/Gulp-SASS/
>>207931122 блялол, хотя бы npm дай ему изучить, прежде чем в галп лезть. Он там понаворотит говна и не разберется, почему не работает а еще он 90% не умеет пользоваться терминалом, ага
>>207931263 >npm дай ему изучить, прежде чем в галп лезть Я сам нихуя не знаю, но чтобы вкатиться в sass/less нужно знать, как это тупо запустить и поставить этот sass/less, и как это все собрать, а потом уже можно будет серьезно вернуться к этому вопросу после освоения js
>>207934305 Теорию ему выше сказали - цепочка наследования. Я объяснил что это еще называется прототипом. А из кода нужно всего лишь понять что на голом объекте {} нет кастомной функции из прототипа. Все. Сложно?
>>207933775 Ну таки это другое, у тебя let op2 = new OP() а не let op2 = new function() { console.log( 'Я ХУЙ' ) }
В чем разница между let op1 = {} и когда мы прописываем конструктор прямо в его вызове let op2 = new function() {}, мы же все равно не сможем повторно использовать эту функцию для создания другого объекта?
>>207934510 Ах вот ты чо, спрашиваешь, буквальную разницу? Я думал вопрос глубже и домыслил. Ну а так let xyu = {} let xyu = new function() {} полностью симметричны и взаимозаменяемы именно в таком виде. Анонимная одноразовая функция-конструктор которая ничего не делает. Можно сказать что = {} это для нее синтаксический сахар. В практике никогда не встречал. Функции-хендлеры анономными делают всегда и везде это да, а такое извращение для создания нового объекта не применяет никто.
>>207926988 (OP) ты что ебанутый? Не занимайся javascript. Это унылое говно никому не надо, подходит только для веб макак. Учи востребованные языки программирования, такие как перл или визуал бэйсик. На этих столпах программирования стоит весь энтерпрайс, а в данный момент времени они активно развиваются, не говоря о том, что спрос на специалостов владеющих тонкостями этих языков никогда не был так высок, как сейчас. Да что там энтерпарйс, почти все базы данных написана на перл, системы распределенных вычислений, обработчики больших данных, таких как кафка стримс и апаче хадуп.
>>207928887 >Это нормально за 5 месяцев Твоя хуйня не может нормально отобразиться на телефоне ни в обычном режиме, ни в режиме версии для пк. Ты либо ебланил слишком много в процессе обучения, либо это реально не твоё, но я думаю всё же первое.
>>207936783 Посмотрел по ссылке. Там тоже нет именно пустого конструктора. Там имеется ввиду что если вам не просто поля объекта позаполнять, а какую-то более сложную логику, то тогда конструктор наше все. "Более сложная логика" это например обратиться к полю создаваемого объекта. В первом виде это невозможно, объект еще не создан, а во втором - пожалуйста, еще до входа в тело конструктора тебе создается пустой объект (пик2). Обрати внимание что heavyCalculations() в целях оптимизации желательно вызывать только один раз.
>>207938915 >nodemon Ну допустим это ко фронтэнду не относится. Можно тогда сказать что и нода не относится, но я возражу - в среде под нодой крутятся инструменты перечисленные выше.
>>207937993 >В первом виде это невозможно, объект еще не создан Твой obj2 почему-то никак не работает, поэтому взял такой пример. Обращаюсь к a, все выводится
let obj = {
a: 'xyu',
b() { alert(obj['a']); }
}
obj.b(); Чему невозможно? Я не понимаю
>Обрати внимание что heavyCalculations() в целях оптимизации желательно вызывать только один раз. Не понял, к чему ты про heavyCalculations() ?
>>207940418 Не-не-не, ты не путай, не-не-не. Обратиться к obj.b на этапе объявления самого obj - невозможно, смотри пик, ты гарантированно получаешь "Cannot access 'obj' before initialization". В большинстве языков так, не только в JS. Ты обращаешься к полю переменной которой еще нет. А у тебя обращение идет внутри функции, что намного позже создания объекта, это уже не инициализация объекта. А вот функция-конструктор именно инициализация, там можно обратиться к полу-сырому объекту который мы создаем.
>>207940418 >>207941177 >у тебя обращение идет внутри функции Еще можно сказать так: функция-поле b() на этапе создания объекта obj в твоем примере - не выполняется, она просто декларируется. Поэтому и ошибки обращения там нет, т.к. отсутствует факт обращения - функция же не вызывается.
>Не понял, к чему ты про heavyCalculations() Это как пример логики которая что-то там считает и выдает результат, но запустить ее два раза мы не можем из-за ее логики.
>>207940616 Не хочется делать через css, добавляя before с текстом для каждой ячейки. Если админ решит изменит текст в первом столбце, то ему потом и в css лезть, менять все before с этим же текстом у ячеек?
Решил оставить это на потом, когда выучу js, чтобы js брать содержимое первого столбца и добавлять его к каждой ячейке 2, 3 и 4 столбцов на мобильной версии.
>>207941506 >Это как пример логики которая что-то там считает и выдает результат, но запустить ее два раза мы не можем из-за ее логики.
Вот такой пример смотри. У нас есть цель: чтобы в свойствах a и b были одинаковые значения. Одинаковые - это крайне важно. Это наша бизнес-логика. Ты можешь определить что в данном примере уже "сломано"? Если можешь то ты уже далеко продвинулся.
>>207926988 (OP) сегодня решил вкатиться в codewars, и решать всё однострочниками, где почитать про техники однострочного js вот мой первый digPow=(n,p)=>(k=[...n+''].reduce((l,c)=>+l+cp++,0))/n%1!=0?-1:k/n
>>207942243 Совершенно верно, данный код содержит трудноуловимый баг. Один раз на миллион второй вызов Date.now() даст другое число. Поэтому код "сломан". Его нужно переписать, буферизируя результат вызова функции либо во временную переменную, что иногда не очень красиво т.к. это лишнее имя в текущем scope, либо через конструктор.
>>207927246 >функция может ли вообще обозначаться перменной? Это не функция обозначается переменной, а функция помещается в переменную. Это кстати очень распространённая практика, особенно в javascript
>>207944233 >Любой дурак способен написать код понятный компьютеру. Это не правда. Даже написать код понятные компьютеру - задача далеко не тривиальная.
>>207944347 >Это не правда. Это сказал Мартин Фаулер, а он побольше тебя знает в этом. И меня.
>Даже написать код понятные компьютеру - задача далеко не тривиальная. Он не выполнится пока ты минимально рабочий не напиешь. А вот человек может глаза ломать об это, увеличивая время и стоимость разработки.
>>207927246 В последнее время стало модным записывать функции в виде стрелочных, т.е. будет let xyu => (parameter_esli_est) => { } По сути, будет то же самое
>>207945544 ебать ты мне высерил коненчо про зис блядь да блядь Конечно в арроу функций нету зиса, но нахуй нам зис блядь в фукнциях когда есть классы для этого
ОП, если ты еще в треде, палю годноту. Если самому пиздец как не идет, иди на курсы. Если есть бабки = course era тебе в помощь. Я вообще советую податься тебе на трейни/джуна в любую контору и попахать там за копейки пару месяцов и начинать искать более менее нормальну работку. Так ты и подучишь сразу что и как и поймешь заодно надо оно тебе или нет.
>>207945543 У стрелочная функция принимает за свой контекст контекст вызова. Если ты этого не знаешь, то блять это пиздец. Нахуй ты юзаешь стрелочные функции дебс, если ты не знаешь вообще для чего их добавили? Потому что инициация КОРОЧЕ И КРАСИВЕЕ?
>>207945543 Так-то он прав. Через нью функция создаётся объект, а через стрелочную просто функция первого порядка. У неё даже this из контекста выполнения берётся, а не свой.
>>207946012 Я прекрасно знал как работают и объявляются лямбды еще до появления их в языке JS. Теперь ответь мне на вопрос: где в твоей ссылке лямбда без параметра объявляется так как ты написал?
>так то без параметра стрелочная пишется так >let xyu =>{}
Подкиньте идей для проекта на плюсах полгода вкатываюсь Знаю работу с файлами, циклы, классы, структуры, проверку ошибок, векторы. Не знаю где можно учить системно, поэтому изучаю и пишу всё прдряд (с большим количеством ошибок, с которыми приходится справляться) Лит-ру тоже подскажите
>>207946269 Палимарфизм в js из-за динамичиской типизации обычно параметричиский (запуск одного и того же кода для разных типов), карирование - кагда разделяем функцию с несколькими аргументами на несколько функций по одному аргументу
>>207947860 Этим господином был я , спасибо. Парсеры скобочек тоже могли вас научить конечным автоматам, но препода таких слов вам никогда не говорили (ну мне точно не говорили). Моя версия вышеуказанного парсера на JS, ~5k строк.
>>207948587 Да это только название такое страшное. По сути это свичи в свичах в свичах в свичах, и одна переменная state сверху, которая управляет в какую ветку сейчас идем. Фреймворк React если кто знает, вот там это наглядно реализовано тоже. В it 19 годиков. Код занял где-то две недели часа по 4-5 вечерами. Надобность возникла спонтанно - писал приложение для Google Spreadsheets доков по парсингу/дата майнингу определенного сайта и функциональности регэкспов вдруг стало не хватать, захотелось написать свой велосипед. Велосипед оказалось написать не так просто, полез гуглить, нашел официальные доки от разработчиков языка для имплементации парсеров, и понеслась. А мог бы просто либу скачать какую-нибудь :D
>>207949216 Очень даже неплохо, мое почтение О, ну пока ты тут, я немного доебу тебя тупыми вопросами: как сильно именно тебе нужны была математика (с 1 курса тех вуза и выше) и какая?
Завтра ищешь в интернете книжку jQuery in action. Похуй, если ничего не поймешь. Затем идешь на MDN и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию жопоскриптового кода от W3Schools, чтобы от зубов отскакивало. Когда напишешь свой первый слайдер, по пути изучив верстку на html + css, скачиваешь и изучаешь любой джаваскриптовый фреймворк, рекомендую AngularJS. Как переделаешь слайдер, чтобы не использовал jQuery и грузил картинки через $http, можешь идти дальше – тебя ждет увлекательный мир фронтэнда. React/Redux, TypeScript, вебпак, бабели-шмабели. Отсос у хиккующих выблядков/просто неудачников типа питонистов или сишарп/джава-хуесосов, которые не размазывают макароны по экрану не заставит себя ждать, и уже через полгода ты будешь писать такие конфиги, что любой хипстер будет течь при упоминании твоего shit.js на npm.
>>207949359 Спасибо, приятно :3 Лично мне математика с универа ни разу не пригодилась. Ну пару раз считал интегралы для определения площади поверхности, но их и в началах анализа в 10-11 классе вроде считают. Делал игры, там тоже была математика, но тоже простенькая - тригонометрия, перевод в полярные координаты для упрощения рисования секторов окружностей, линейная алгебра (матрицы) и т.д. В общем как-то без математики выжил и макакой-кодером себя конечно же не считаю. Считаю что высшая математика очень специфична и нужна для узких специальностей, типа рассчетов статистики, моделирования жидкостей и других сред, погрешностей всяких. Самые интересные для меня области математики которые в жизни пригодились это тигры+тервер (именно в жизни, программ на эту тему не писал никогда), комбинаторика, теория чисел.
Вкатываюсь в js и встал один вопрос, чем let xyu = {} отличается от let xyu = new function() {} ?