
Mikhail
14.11.2016
16:41:06
да, а потом replace(/,/g, '')

Каїн
14.11.2016
16:41:44
new RegExp(${undefined}, 'g')

Дмитрий
14.11.2016
16:42:43

Name
14.11.2016
16:43:14

Google

Mikhail
14.11.2016
16:43:27
вообще довольно странно писать pointfree и при этом предпочитать map + string фолду

Каїн
14.11.2016
16:44:11
не все такие перфекционисты жаваскрипта как ты

Oleg
14.11.2016
16:44:26
На сколько хорошо умеешь?

Vladimir
14.11.2016
16:45:19

Каїн
14.11.2016
16:45:20

Igor
14.11.2016
16:45:32
привет, ребят. после активного гугления понял, что не смогу правильно подобрать слова и решил написать сюда.
у меня есть некий объект ctx, к которому я хочу прикрутить набор утилит: ctx.util.show(), например. ctx -- это контекст webgl на самом деле, но не суть. в show мне нужно иметь ссылку на сам ctx. как это организовать?

Каїн
14.11.2016
16:45:34
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys итерация по ключах

Igor
14.11.2016
16:46:32
ну, и есть некий класс Ctx, допустим, который и нужно расширять.

Vladimir
14.11.2016
16:47:46
es6 classes?

Gordey
14.11.2016
16:47:55
context?

Alex
14.11.2016
16:48:19
hlp plz ! юзает кто node-telegram-bot-api ? Суть вопроса в том, когда получаю файлы из тг он присваиет имена file_n. можно как то присвоить им свои имена ?

Vladimir
14.11.2016
16:49:24

Alex
14.11.2016
16:49:55
var fileName = fileURI.slice(fileURI.lastIndexOf('/') + 1);

Google

Igor
14.11.2016
16:50:17

Vladimir
14.11.2016
16:51:02
бинди методы в конструкторе
используе this.ctx в методах

Name
14.11.2016
16:52:28

Alex
14.11.2016
16:53:33

Vladimir
14.11.2016
16:53:49
я не знаю

Oleg
14.11.2016
16:54:32
А зачем менять имена?

Igor
14.11.2016
16:55:04

Vladimir
14.11.2016
16:55:26
что?

Igor
14.11.2016
16:55:44
сохраняй его в конструкторе
и я даже не иницииализирую его, то есть у меня в коде как-то так: ctx = canvas.getContext('webgl'). если мы об одном и том же конструкторе.

Каїн
14.11.2016
16:56:19
зачем бинд
гспди

Oleg
14.11.2016
16:56:48
Недавно был такой тред

Vladimir
14.11.2016
16:57:02
class supWebgl {
constructor(ctx) {
this.ctx = ctx;
this.show = this.show.bind(this);
}
show() { this.ctx; // yolo }
};

Oleg
14.11.2016
16:57:14
Некий товарищ с ракетой в нике интересовался

Vladimir
14.11.2016
16:57:31

Alex
14.11.2016
16:58:18

Igor
14.11.2016
16:58:37

Каїн
14.11.2016
16:59:15
https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=es2015%2Ces2015-loose%2Cstage-1%2Cstage-2%2Cstage-3&experimental=true&loose=true&spec=true&code=class%20Ctx%20%7B%0A%20%20constructor%20()%20%7B%0A%20%20%20%20this.mine%20%3D%205%3B%0A%20%20%7D%0A%7D%0A%0Avar%20utils%20%3D%20%7B%0A%20%20doSpecial%20()%20%7B%0A%20%20%20%20console.log(this.mine)%3B%0A%20%20%7D%0A%7D%0A%0Avar%20ctx%20%3D%20new%20Ctx()%3B%0AObject.assign(ctx%2C%20utils)%3B%0A%0Actx.doSpecial()%3B%0A

Google

Vladimir
14.11.2016
16:59:54

Igor
14.11.2016
17:00:27
просто, с прототипами ясно: Ctx.prototype.show = ... — вот тебе и this, указывающий на ctx, и всё чеки-пуки.
а как сделать дополнительное поле в Ctx не очень понятно. наверное, я хочу чего-то странного.

Oleg
14.11.2016
17:00:36
Жаль я не с пк, на накидал бы кода

Vladimir
14.11.2016
17:01:09
покажи свой шоу

Igor
14.11.2016
17:01:21
util непосредственно.

Каїн
14.11.2016
17:02:21
хм, ссылаться на обьект парент из созданого миксина

Name
14.11.2016
17:03:38

Igor
14.11.2016
17:03:56
это как?

Vladimir
14.11.2016
17:04:04
а что уже смотрел? лол

Каїн
14.11.2016
17:04:26
а это
почему не сделать екстенд

Igor
14.11.2016
17:04:53
типа такого? https://gist.github.com/juandopazo/1367191 .

Name
14.11.2016
17:05:34
это как?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get
ну или через Proxy

Каїн
14.11.2016
17:05:50
ты хочешь миксинить готовые екземпляры или ты можешь создавать новые но с миксином?

Igor
14.11.2016
17:06:15
я работаю с контекстом webgl, который получаю от браузера.

[Anonymous]
14.11.2016
17:07:00
чтобы базовые принципы понять, можешь любые уроки смотреть, а там уже изучай модули

Admin
ERROR: S client not available

Каїн
14.11.2016
17:07:08
чтобы не нарушать неймспейс, я понел

Google

[Anonymous]
14.11.2016
17:07:11
модули лучше через доки изучать по примерам

Igor
14.11.2016
17:07:19

Alex
14.11.2016
17:07:31
сейчас идет dev интенсив Skill Branch, можеш там посмотреть

[Anonymous]
14.11.2016
17:08:58
есть, но я не пишу на ноде

Каїн
14.11.2016
17:10:54
это глупо в миксине вязаться к зису, лучше уж передавать явно как и Владюня говорил
ты уверен что хочешь this в утилитах?

Vladimir
14.11.2016
17:11:54
learn.javascript.ru

Igor
14.11.2016
17:12:29

Vladimir
14.11.2016
17:12:38
сделай просто функции
которые принимают твой вебгл контекст аргументом
так и тестировать проще

Igor
14.11.2016
17:13:18
на самом деле, там достаточно много одноообразных вызовов типа
gl.util.compileShaders(gl, type, source);
gl.util.linkProgram(gl, ...);
…
и их очень много.
ну, вернее, если это будет просто util, то без первого gl.

Vladimir
14.11.2016
17:13:59
нет

Каїн
14.11.2016
17:14:11
нужно всего навсего вынуть все проперти с миксина и вставить в ctx

Vladimir
14.11.2016
17:14:15
https://github.com/getify/You-Dont-Know-JS
вот ещё

Name
14.11.2016
17:14:49

Google

Igor
14.11.2016
17:16:24
ну, по сути у меня там ещё всё промисами приправлено, так что мне хочется писать просто
.then(gl.util.compileShaders)
.then(gl.util.linkProgram)

Каїн
14.11.2016
17:16:38
https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=es2015%2Ces2015-loose%2Cstage-1%2Cstage-2%2Cstage-3&experimental=true&loose=true&spec=true&code=class%20Ctx%20%7B%0A%20%20constructor%20()%20%7B%0A%20%20%20%20this.mine%20%3D%205%3B%0A%20%20%7D%0A%7D%0A%0Avar%20utils%20%3D%20%7B%0A%20%20doSpecial%20()%20%7B%0A%20%20%20%20console.log(this.mine)%3B%0A%20%20%7D%0A%7D%0A%0Avar%20ctx%20%3D%20new%20Ctx()%3B%0Actx.utils%20%3D%20Object.assign(ctx%2C%20utils)%3B%0A%0Actx.utils.doSpecial()
хз, я дошел до этого
чтобы примешать в любой обьект миксин достаточно скопировать в экземпляр методы, а уже куда ты ложить это будешь это присваивание
но главное в обжект асайн то что он не создает новый обьект и не изменяет ссылку что важнее

Igor
14.11.2016
17:19:45
https://goo.gl/LDjTpg