💩🔨🐒
Ну я знаю что она в __proto__
Sergey
snatvb
:D
💩🔨🐒
от того и спросил, потому что писал паттерн декоратора где строка передаётся ссылкой на литерал, а он мне прототип не хочет отдавать
snatvb
сергей рушит все надежды
Sergey
💩🔨🐒
и я пярям и приуныл
snatvb
разрушитель надежд
Sergey
💩🔨🐒
Так а как быть с утверждением что в JS все является объектом
💩🔨🐒
*Ведёт себя как объект
snatvb
вот именно
snatvb
ведет
Oleksandr
Oleksandr
читать спеку и смотреть конкретные кейсы по спеке
Sergey
Sergey
https://es5.github.io/#primitive_value
Sergey
A primitive value is a datum that is represented directly at the lowest level of the language implementation.
💩🔨🐒
А, я понял.
Владимир
Расскажи им еще почему литералу можно свойство присвоить, а при обращении к нему его нет
Sergey
primitive value member of one of the types Undefined, Null, Boolean, Number, or String as defined in Clause 8.
💩🔨🐒
Короче если я собрался писать свой декоратор, то мне полюбому надо создать экземпляр, а потом уже начать играться с конструктором
snatvb
cosnt _String = String
function String() {}
snatvb
и погнал
💩🔨🐒
Andrew ну не совсем так мне надо, мне нужен декоратор который по каждому вызову отдаёт экземпляр класса для каждой строки, с набором методов в контексте этой строки и наследует её же методы
snatvb
изврат такой изврат)
snatvb
getter тчоль
💩🔨🐒
Andrew однозначно изврат. А разве на ES5 getter возможен?
snatvb
а декторатор?)
💩🔨🐒
Так я про паттерн а не про декларацию
snatvb
ихжеж даже в спеке es вроде нет
snatvb
а
💩🔨🐒
старый добрый паттерн
snatvb
нету
snatvb
пиши свой бабель
snatvb
с блекджеком
💩🔨🐒
Спасибо
snatvb
и юзай сахар
snatvb
:D
snatvb
типа '''my cool string'''
💩🔨🐒
Andrew да какбы если бы проект не был старым, я бы давно уже разобрался, а так как ему хуева туча лет и нет воможности како транспайлер использовать – то приходится прибегать к таким извращениям
snatvb
я поставлю за тебя свечку, о наш герой, и посочувствую всем сердцем, боле знаю, как тебе помочь)
💩🔨🐒
Andrew свечек не хватит на все мои страдания
snatvb
ты недооцениваешь рпц)
Smooth Operator
snatvb
а как getter/setter в бабель преобразует
snatvb
а хотя те не пойдет наверн
💩🔨🐒
@dersizes спасибо. Я забыл уже с этими модными штуками)
💩🔨🐒
Andrew а вы серьёзно колупались во всех полифилах бабеля?
snatvb
не
snatvb
я просто примерно представляю что и как долно работать
snatvb
на es5 много кодил
snatvb
забывать реально начинаешь)
💩🔨🐒
Andrew так все наверно на нём много кодили // из тех кто в этом чате
Nikita
геттеры/сеттеры es5 как-бы)
snatvb
то есть я могу сделать
snatvb
function Vector (x,y){this.x =x, y=y}
snatvb
Vector.prototype.get = funciton(vector){return this.x+this.y}
snatvb
var a = new Vector(2,3);
💩🔨🐒
ну тогда метод get() получается
💩🔨🐒
я уже так пробовал
snatvb
5+a // 10
snatvb
?
snatvb
@gusnkt
Vlad
Vlad
Это про defineProperty
snatvb
а
Vlad
На волне про memsafe https://twitter.com/filosottile/status/829507961819107330
Nikita
5+a // 10
так ты можешь сделать только определив valueOf)
но это супер-неявно, а значит не стоит так делать)
snatvb
ну неявно дэ
помню так делал в C#
snatvb
для векторов
snatvb
и там это норм практика
💩🔨🐒
Ну ничего не поделать
Andrew
А в ноде деструкция объекта с рест/спред параметром не работает?
let { name, version, filename, ...otherField } = {name:1,version:2, b:3}
Andrew
Мне валит ошибку, что не понимает '...'
Andrew
С --harmony та же ошибка
Andrew
Но, например, мержит массивы const arr = [...a1, ...a2] без проблем
Yuriy
Object spread еще не завезли, а array spread уже давно.
Yuriy
См. Node.green
Andrew
понял, спасибо