JS тред Вкатываюсь в js и встал один вопрос, чем let xyu = {} отличается от let xyu = new function() {} ?
>>207926988 (OP)В первом случае ты объявляешь пустой объект, во втором через оператор "new" создаешь функцию. Тебе в js тред. Сюда по всему ты даже базовых вещей не знаешь, куда ты лезешь с let.
Раз уж дело зашло о ООП, спрашиваю.Зачем при создании экземпляра массива надо писать Cl = new cl() Зачем это new вообще нужно
>>207926988 (OP)>let xyu = {} Эта хуйня вроде бы называется объектом.То есть просто создал и создал, с ним ничего не происходит.>let xyu = new function() {}Ну а тут типа функция, там внутри может быть всякая хуерга типа циклов, да и вообще что угодно.Хотя непонятно - функция может ли вообще обозначаться перменной?Я такой хуйни не встречал. мимо-html-эксперт с трехмесячным стажем
>>207927097>во втором через оператор "new" создаешь функциюНу таки в этом случае let xyu = new function() {} функция конструктор возвращает объект в xyu, а в этом мы сразу делаем объект let xyu = {} ? В итоге в обоих случаях в xyu окажется объект, тогда в чем разница?
>>207927277А то что я сказал экщемпляр массива, а не класса, тебя не беспокит?бляя вся эта память компиляции сборки такая нудятина я не хочу ааАаАааА
>>207927246>мимо-html-эксперт с трехмесячным стажемКак вкатился в такими знаниями? Какая зарплата? Какой город?
Через NEW function создаётся такой же объект, а не функция! Эта функция выступает для new конструктором. Как js-девелопер, скажу, что на практике нахуй не впилось. Хорошо знать особенности языка это вообще гуд, но если ты только вкатываешься в кодинг вообще - не еби себе мозги этим кунг-фу.
>>207927177Если я не могу понять смысл твоего пикрелейтеда, то есть ли мне смысл продолжать обучение программированию? Или уже отправить резюме на должность грузчика в "пятерочке"?
>>207927475Лол, я еще никуда не вкатился.Окончил курсы по веб-разработке, только не смейся, от центра занятости.Работу пока не нашел. и вряд ли найдуЗнаю html, css и основы js. Ну точне, как - могу высрать какую-нибудь задачку, уравнение решить, какой-нибудь калькулятор запилить.Вопрос ОП-хуя для меня непонятен, я с такими ситуациями не сталкивался.
>>207927568Думаю, да. Возможны какие-то незначительные побочки. Но, ссылаясь на мой пост, наххххуй оно впилось? Писать с изпользованием этих особенностей и дебажить их особенно - врагу не пожелаешь.
>>207927676А, ксати, про аллокацию памяти мсье выше не пошутил. Рили, в первом случае объект запиливается статически, во втором - в рантайме. Но снова же, на практике это редко имеет значение.
>>207927648Зачем пошел на курсы? Сколько длились эти курсы? Вышка есть, а если найду? Чем тебе самообразование через интернеты не устраивает?
>>207927927>Зачем пошел на курсы?Во-первых, нехуй делать, а тут какая-то движуха.Во-вторых, там платили стипендию.В-третьих, ну как бы надо уже профессию получить, уж в 30 то лет пора бы.>Сколько длились эти курсы?3 месяца.>Вышка есть, а если найду?Есть, но по крайне далекой от айти специальности.>Чем тебе самообразование через интернеты не устраивает?Наверное тем, что я инфантильный еблан и мне не хватает силы воли.А на курсах все-таки заставляли каждый день хоть что-то делать.Ну и плюс дома мамака 24/7 трындит, психует, портит мне настроение.В таких условиях как-то уже нахуй не до программирования, тут просто выпилиться охото.
>>207927840...Или я уже ёбнулся с этими интерпретаторами. Сказанное выше, скорее, актуально да компилируемых языков.
>>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, можно просто написать $.И пиздец. Больше ничего не было, поэтому я нихуя и не знаю.
>>207929136Тогда тебе сюда, начинай с самого начала https://learn.javascript.ru/ А что с css, все выучил? в sass/less вкатился?
>>207929420>в sass/less вкатился?Честно говоря, впервые встречаю эти слова.> https://learn.javascript.ru/Добавил в закладки. А вообще я сейчас htmlacademy дрочу.Правда, она какая-то слегка всратая, да ну хуй с ней, вроде бы справляюсь.Но если честно, мотивация падает с каждым днем.Я уже на грани того, чтобы бросить и идти в дворники.
>>207929136var iter = (x)=>{console.log(x);return x?iter(x-1):console.log("that's all");};Норм пасаны ебошат циклы через рекурсию
>>207929631>Я уже на грани того, чтобы бросить и идти в дворники.Не сдавайся, за год-полтора вкатишься, главное катиться. >htmlacademyДа, это говно как-то утомляет, я дропнул через пару часов. Потом тупо прочитал https://html5book.ru/ прочитал про html и css, полистал справочник, потыкался, попробовал поделать всякие штуки, которые приходят в голову, чтобы закрепить синтаксис в голове и подбодрить себя https://vertically-challenged.github.io/ , про JS на html5book читать не стоит. После html5book.ru и Эрика Фримена со своей книжкой сомнительной полезности на 2019 год про HTML и CSS, в которой я посмотрел, как раньше верстали наши деды, я посмотрел эти два интенсива: 1. magnet:?xt=urn:btih:5A884FC07F9AF4B82EFA1BDD2778D70CC306B23C&dn=%5bHTML%20Academy%5d%20%d0%9f%d1%80%d0%be%d1%84%d0%b5%d1%81%d1%81%d0%b8%d0%be%d0%bd%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9%20HTML%20%d0%b8%20CSS%20%d0%a3%d1%80%d0%be%d0%b2%d0%b5%d0%bd%d1%8c%201&tr=http%3a%2f%2fbt4.t-ru.org%2fann&tr=http%3a%2f%2fretracker.local%2fannounce2. magnet:?xt=urn:btih:3DA7A1A9CA38055E1AEE0315DF5868A94AD264A0&dn=%5bHTML%20Academy%5d%20%d0%9f%d1%80%d0%be%d1%84%d0%b5%d1%81%d1%81%d0%b8%d0%be%d0%bd%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9%20HTML%20%d0%b8%20CSS%2c%20%d1%83%d1%80%d0%be%d0%b2%d0%b5%d0%bd%d1%8c%202&tr=http%3a%2f%2fbt.t-ru.org%2fann&tr=http%3a%2f%2fretracker.local%2fannounce2-й досмотрел только до погружения в автоматизацию, тому що дальше нужны знания js. Gulp освоил (на уровне, чтобы работать с scss) по каким-то роликам с ютуба, сделав шпаргалку, чтобы потом не забыть, как все это настраивать https://vertically-challenged.github.io/Gulp-SASS/Сверстал по первому https://vertically-challenged.github.io/Device/ По второму: https://vertically-challenged.github.io/Pink_1/ (забив хуй после первой страницы, тому що формы и каталог аналогичны тому, что я верстал после первого интенсива) Дальше пошел на https://learn.javascript.ru/
>>207930770> Gulp освоил (на уровне, чтобы работать с scss) по каким-то роликам с ютубаКажется, эти ролики https://www.youtube.com/watch?v=dsHWWuWnuMA&t=31s
>>207931122блялол, хотя бы npm дай ему изучить, прежде чем в галп лезть. Он там понаворотит говна и не разберется, почему не работаета еще он 90% не умеет пользоваться терминалом, ага
>>207931263>npm дай ему изучить, прежде чем в галп лезтьЯ сам нихуя не знаю, но чтобы вкатиться в sass/less нужно знать, как это тупо запустить и поставить этот sass/less, и как это все собрать, а потом уже можно будет серьезно вернуться к этому вопросу после освоения js
>>207927585https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototypeThe Object.prototype is a property of the Object constructor. It is also the end of a prototype chain.
>>207931845>The Object.prototype is a property of the Object constructor. It is also the end of a prototype chainНихуя не понял
>>207933775Ты ему без теории пытаешься код дать? Норм, молодец.>>207934130Да идите вы нахуй со своим полиморфизмом (
>>207934305Теорию ему выше сказали - цепочка наследования. Я объяснил что это еще называется прототипом. А из кода нужно всего лишь понять что на голом объекте {} нет кастомной функции из прототипа. Все. Сложно?
>>207933775Ну таки это другое, у тебя let op2 = new OP() а не let op2 = new function() { console.log( 'Я ХУЙ' ) }В чем разница между let op1 = {} и когда мы прописываем конструктор прямо в его вызове let op2 = new function() {}, мы же все равно не сможем повторно использовать эту функцию для создания другого объекта?
>>207926988 (OP)создал пустой обьектсоздал пустой обьект с помощью вызова констуктора функциифункция ето обьект в жсе
>>207934510Ах вот ты чо, спрашиваешь, буквальную разницу? Я думал вопрос глубже и домыслил. Ну а такlet xyu = {}let xyu = new function() {}полностью симметричны и взаимозаменяемы именно в таком виде. Анонимная одноразовая функция-конструктор которая ничего не делает. Можно сказать что = {} это для нее синтаксический сахар. В практике никогда не встречал. Функции-хендлеры анономными делают всегда и везде это да, а такое извращение для создания нового объекта не применяет никто.
>>207936052Спасибо, а то https://learn.javascript.ru/constructor-new зачем-то упомянули про let xyu = new function() {}, будто там есть какой-то подвох, вот я и думал, где подвох. > вопрос глубжеНу таки я только начал врат, пока до каких-то глубоких тем еще не дошел
>>207926988 (OP)ты что ебанутый? Не занимайся javascript. Это унылое говно никому не надо, подходит только для веб макак. Учи востребованные языки программирования, такие как перл или визуал бэйсик. На этих столпах программирования стоит весь энтерпрайс, а в данный момент времени они активно развиваются, не говоря о том, что спрос на специалостов владеющих тонкостями этих языков никогда не был так высок, как сейчас. Да что там энтерпарйс, почти все базы данных написана на перл, системы распределенных вычислений, обработчики больших данных, таких как кафка стримс и апаче хадуп.
>>207928887>Это нормально за 5 месяцев Твоя хуйня не может нормально отобразиться на телефоне ни в обычном режиме, ни в режиме версии для пк. Ты либо ебланил слишком много в процессе обучения, либо это реально не твоё, но я думаю всё же первое.
>>207936783Посмотрел по ссылке. Там тоже нет именно пустого конструктора. Там имеется ввиду что если вам не просто поля объекта позаполнять, а какую-то более сложную логику, то тогда конструктор наше все. "Более сложная логика" это например обратиться к полю создаваемого объекта. В первом виде это невозможно, объект еще не создан, а во втором - пожалуйста, еще до входа в тело конструктора тебе создается пустой объект (пик2). Обрати внимание что heavyCalculations() в целях оптимизации желательно вызывать только один раз.
>>207937872>Твоя хуйня не может нормально отобразиться на телефонеВ чем проблема? Смотрю со своего телефона, все отображается как и должно
>>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 были одинаковые значения. Одинаковые - это крайне важно. Это наша бизнес-логика. Ты можешь определить что в данном примере уже "сломано"? Если можешь то ты уже далеко продвинулся.
>>207941871Хочешь сказать, что в a и b будут разные значения, если делать так? Поэтому a нужно присвоить значение функции, а b значение a?
>>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, либо через конструктор.
>>207942611Ой бля, это одинарные ковычки, a я думал "Че делает функция? как долго в программировании?
>>207942489Вот теперь я точно все понял, где была разница и в чем подвох, спасибо, анон, что разжевал все это.
>>207942684>Че делает функция?решает задачу https://www.codewars.com/kata/5552101f47fc5178b1000050>как долго в программированиидавно, но всё как хобби
>>207942295Зачем привыкать писать нечитабельную парашу? У js и так с этим проблемы, так ты ещё говна добавил.
>>207927217>Зачем при создании экземпляра массива надо писать>Cl = new cl() Потому-что создатели языка так решили.
>>207943309Особенно на codewars. Когда хочется глянуть решения других, узнать что-то новое, а там эта ебанина. Тфу.
>>207927246>функция может ли вообще обозначаться перменной?Это не функция обозначается переменной, а функция помещается в переменную.Это кстати очень распространённая практика, особенно в javascript
>>207943406нахуй пошёл, это классическое развлечение, сделать рабочий код в минимальное количество символов
>>207943666Любой дурак способен написать код понятный компьютеру. Хороший программист пишет код понятный человеку.(с)Если ты на строку потратил больше 2-3 секунд, то это лапша.Лишние изъёбства ради понта - не дело. Лучше бы либу какую модную хипстерскую изучил.
>>207944233>Любой дурак способен написать код понятный компьютеру.Это не правда. Даже написать код понятные компьютеру - задача далеко не тривиальная.
>>207944347>Это не правда.Это сказал Мартин Фаулер, а он побольше тебя знает в этом. И меня.>Даже написать код понятные компьютеру - задача далеко не тривиальная.Он не выполнится пока ты минимально рабочий не напиешь.А вот человек может глаза ломать об это, увеличивая время и стоимость разработки.
>>207927246В последнее время стало модным записывать функции в виде стрелочных, т.е.будет let xyu => (parameter_esli_est) => { }По сути, будет то же самое
>>207930770Анон, горжусь твоей страничкой. Только если бы ты еще хуярил на реакте или на вью, я бы тебе свое очко подариллибо выебал
>>207945108Ебать блядь двойка ун его нахуй, запись по типу лет переменная = нью функция...Это старый формат блядьТо чт оя написал это новый бляжбАж трисет от тебья
>>207944919Ну это относительно недавно так то.Учитывая что сейчас еще считаются с es6 года так 2007 вроде бы
>>207945544ебать ты мне высерил коненчо про зис блядь да блядь Конечно в арроу функций нету зиса, но нахуй нам зис блядь в фукнциях когда есть классы для этого
ОП, если ты еще в треде, палю годноту.Если самому пиздец как не идет, иди на курсы. Если есть бабки = course era тебе в помощь.Я вообще советую податься тебе на трейни/джуна в любую контору и попахать там за копейки пару месяцов и начинать искать более менее нормальну работку. Так ты и подучишь сразу что и как и поймешь заодно надо оно тебе или нет.>>207926988 (OP)
>>207945543У стрелочная функция принимает за свой контекст контекст вызова. Если ты этого не знаешь, то блять это пиздец. Нахуй ты юзаешь стрелочные функции дебс, если ты не знаешь вообще для чего их добавили? Потому что инициация КОРОЧЕ И КРАСИВЕЕ?
>>207945543Так-то он прав. Через нью функция создаётся объект, а через стрелочную просто функция первого порядка. У неё даже this из контекста выполнения берётся, а не свой.
Так, js макакины, анука слабо пояснить за полиморфизм в js своими словами. И дополнительно про каррирование например.
>>207946012Я прекрасно знал как работают и объявляются лямбды еще до появления их в языке JS.Теперь ответь мне на вопрос: где в твоей ссылке лямбда без параметра объявляется так как ты написал?>так то без параметра стрелочная пишется так>let xyu =>{}
>>207945229>Анон, горжусь твоей страничкой:3>реакте или на вьюТаки буду, как выучу, а твое очко было бы неоценимой поддержкой на пути становления программистом
Подкиньте идей для проекта на плюсах полгода вкатываюсьЗнаю работу с файлами, циклы, классы, структуры, проверку ошибок, векторы. Не знаю где можно учить системно, поэтому изучаю и пишу всё прдряд (с большим количеством ошибок, с которыми приходится справляться)Лит-ру тоже подскажите
>>207946269Палимарфизм в js из-за динамичиской типизации обычно параметричиский (запуск одного и того же кода для разных типов), карирование - кагда разделяем функцию с несколькими аргументами на несколько функций по одному аргументу
>>207946348Парсер html по всем правилам вот по этому документу. Научит тебя технологии конечных автоматов (конечных, а не конченных, двачер).https://html.spec.whatwg.org/multipage/parsing.html
>>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 классе вроде считают. Делал игры, там тоже была математика, но тоже простенькая - тригонометрия, перевод в полярные координаты для упрощения рисования секторов окружностей, линейная алгебра (матрицы) и т.д. В общем как-то без математики выжил и макакой-кодером себя конечно же не считаю. Считаю что высшая математика очень специфична и нужна для узких специальностей, типа рассчетов статистики, моделирования жидкостей и других сред, погрешностей всяких. Самые интересные для меня области математики которые в жизни пригодились это тигры+тервер (именно в жизни, программ на эту тему не писал никогда), комбинаторика, теория чисел.