Pull to refresh
11
Каспер Грин @KasperGreenread⁠-⁠only

Front-end developer, UI/UX, ReactJS

Send message
``` — классная возможность, которая пришла из маркдауна сравнительно недавно. Сам стараюсь всегда его использовать, но бывает, что — нет. А других людей убедить его использовать на постоянной основе — задача и вовсе нетривиальная.

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

Но это конечно мои личные переживания и если вас окружают исключительно дисциплинированные программисты и вам не приходится читать куски кода прямо в общих чатах, то ни коим образом не призываю, что то менять. Используйте — что удобно. Главное чтобы команда приняла это за стандарт.

ЗЫ отдельно хотелось бы рассказать о лайфхаке для contenteditable полей ввода. Например если в Gmail вставить кусок кода напрямую из редактора — форматирование сохранится. Тоже касается например Word или Google Docs
пример
Демонстрация вставки кода напрямую в тело сообщения Gmail

Похожие возможности полагаю и до чатов дойдут. Не знаю хорошо это или плохо. Разумеется изыски в темах оформления IDE тоже могут заставить глаза лить кровавые слёзы, но комментируя код автора можно быть ближе к тому, что видит он. В целом вижу здесь возможность для улучшения коммуникации.
Да — вы правы, HTML схлопывает пробелы. Но в условных вазапах\телеграмах всё в порядке.
Для HTML (например чат вКонтакте) не комильфо, но альтернатива — использовать неразрывные пробелы. Их браузер не схлопывает.

if(1) {
  if(2) {
    if(3) {
      console.log('Yeah! It is third level!')
    }
  }
}
Странно, но в обеих статьях не заметили, что если вставить оттабленый код в среднестатистический чат, будет так:

if(1) {
if(2) {
if(3) {
console.log('Yeah! It is third level!')
}
}
}


ЗЫ я знаю про тег <code>, но в чатах его нет. Для меня это главная причина использовать пробелы вместо табуляции.

Декораторами не первый год пользуюсь. Странно, что до сих пор в stage 2


Ja Va Script

Да. Деструктуризация в первую очередь интересовала.


Заинтересовался какой же префикс хотят использовать для остальных случаев — оказалось всё прозаично.


Consider protected, abstract, and friend #25


Открыл для себя friend и private для тех кому нужно.

А так можно?

class First {
  #private_field = 'olololo'
}
class Second extends First {
  someMethod = () => {
    const { #private_field } = this
    console.log(#private_field)
  }
}
Спасибо за комментарий. Для меня было не очевидно, что приватные свойства нужно объявлять заранее.
КМК приватные штучечки не про нас. Пусть ими пользуются большие команды из сотен человек. Если лично нам они не нужны, это не повод тормозить остальных.

TS — не панацея. Также как и ColaScript, Dart, CofeeScript… — это язык транспилируемый в JavaScript.

TS — это не стандарт, а побочный продукт Microsoft. Он может перестать быть нужен мелкомягким. Конечно это не факт, но потенциальная вероятность.

TS — язык строго типизированный. Это ни хорошо, ни плохо. Это другой способ мышления. Так же как ООП не хуже функционального подхода, они просто разные.

Подразумевалась фича из Stage 3-4. Но вариант добавил

Ещё приватные свойства можно реализовать через прокси-объекты или через символьные ссылки.
Цель предложения — стандартизировать синтаксис и заодно префикс.

Нет. Именно не эквивалентен. Последовательный вызов .flat().map() сделает массив плоским и пройдётся по нему функцией обратного вызова, а .flatMap() действует в обратном порядке, как .map().flat(). Сначала будет обход, а потом результаты станут плоскими, но без настроек вложенности, с обходом на один уровень.


['Hello', 'World'].flatMap(word => [...word])

Этот пример можно переписать следующим образом:


['Hello', 'World'].map(word => [...word]).flat()

// Подробнее:
['Hello', 'World']
.map(word => [...word]) 
// разобьём каждое слово на массив букв. В результате получим два массива
// [ ["H", "e", "l", "l", "o"], ["W", "o", "r", "l", "d"]]
.flat() // устраним вложенность
// ["H", "e", "l", "l", "o", "W", "o", "r", "l", "d"]

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

Вы правы, они теперь только скромно помечают номер редакции.


Но десятая редакция настолько круглая, что захотелось акцентировать на этом внимание. Помнить нужно было, что редакция = год \d^+1. Но со следующей редакции всё станет чуточку сложнее. Возможно вы правы и пора забыть об обычных порядковых номерах версий и перейти на порядковые со смещением +2009.

Старый добрый require не является частью EcmaScript.


Рекомендую статью 2013 года — Путь JavaScript модуля.


А инжекции нас и так ждут. Не повод это, от динамических импортов отказываться. Как собственно и от пакетных менеджеров:
Рассказ о том, как я майню эфир через meltdown на ваших телефонах при помощи npm
Охота на вредоносные npm-пакеты
Вредоносный код в npm-пакетах и борьба с ним
Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов

Information

Rating
Does not participate
Location
Таиланд
Date of birth
Registered
Activity

Specialization

Frontend Developer, Software Architect
Senior
From 4,200 $
TypeScript
Node.js
React
NextJS
Adaptive layout
Agile
Automation of processes
Git
Progressive Web Apps
Server-side rendering