Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Обсуждений тред (https://javascript.ru/forum/offtopic/47364-obsuzhdenijj-tred.html)

trikadin 13.08.2015 19:31

Скопируй в консоль и нажми Enter)

bes 13.08.2015 19:36

Цитата:

Сообщение от trikadin
Скопируй в консоль и нажми Enter)

никогда так вывод не делал :) обычно через console.log(), возвращает [object Object]

trikadin 13.08.2015 20:23

bes, знаю)

cyber 13.08.2015 20:40

trikadin, да легко, потому что после привидения типов будет 0+""

bes 13.08.2015 20:44

Цитата:

Сообщение от cyber
trikadin, да легко, потому что после привидения типов будет 0+""

доведи свой вывод до ума согласно спецификации, меня клинит :)
http://es5.javascript.ru/x11.html#x11.6.1
ToNumber( ToPrimitive( GetValue(Object obj) ) ) => 0

cyber 13.08.2015 22:14

bes, короче я затупил, объект это 0, на сколько я помню до приведения к числу объект так и остается объектом, а вот про массив не помню, почемму он 0

Erolast 14.08.2015 09:21

Цитата:

Сообщение от trikadin (Сообщение 384123)
Наткнулся на интересную штуку.

{} + [] // 0

Кто без гугления сможет вспомнить, почему так?)

Спецификация же за гугление не считается?)

{} здесь - не литерал объекта, а пустой блок кода. Выходит так:
{}; +[];


Унарный оператор + приводит к числу аналогично Number, массивы (упрощенно) приводятся таким образом:
Number(array.toString());

Пустой массив тогда сперва приведется к пустой строке, затем пустая строка приведется к нулю. Итог выражения - ноль.

Вот так будет работать как ожидается:
({}) + []; //"[object Object]" + "" == "[object Object]"

cyber 14.08.2015 09:30

Цитата:

Сообщение от Erolast
приводятся таким образом:
Number(array.toString());

я почти был прав)

cyber 15.08.2015 01:59

Какой шорт кат открывая дерево файлов в веб-сторме,задолбался искать)

bes 15.08.2015 09:39

Цитата:

Сообщение от cyber
Какой шорт кат открывая дерево файлов в веб-сторме,задолбался искать)

alt+1, в меню view это написано
а я вот не понял как назначить сочетание клавиш на Git-> Commit Directory :)

Safort 15.08.2015 15:02

Посоны, можете подкинуть примеры крупных проектов(в крупных конторах), в которых используется ES6 и Babel.js на ноде? Примеров с http://babeljs.io/users/ не хватает, поскольку далеко не все проекты открыты.

trikadin 15.08.2015 15:05

Safort, лол, целиком наш проект. Но код закрытый, увы :(

l-liava-l 16.08.2015 03:37

Safort, мы тож юзаем es6 и babel, но как и в ситуации выше код закрыт.

Safort 16.08.2015 14:44

trikadin, l-liava-l, ээх(

trikadin 16.08.2015 17:14

Safort, но ты можешь смело говорить, что все адекватные js-ники юзают бабель.

Safort 16.08.2015 21:10

trikadin, просто слова мне не помогут. Мне нужно показать лидам на примере других крупных участников рынка, что они у себя успешно используют бэйбэл на бэкэнде.

MakeMeFeel 16.08.2015 21:21

Цитата:

Сообщение от Safort
Мне нужно показать лидам на примере других крупных участников рынка, что они у себя успешно используют бэйбэл на бэкэнде

Удачи! :)

kobezzza 16.08.2015 21:25

Цитата:

Сообщение от Safort (Сообщение 384505)
trikadin, просто слова мне не помогут. Мне нужно показать лидам на примере других крупных участников рынка, что они у себя успешно используют бэйбэл на бэкэнде.

Скажи им, что если они не заюзают Бабель, то я приду к ним...верхом на динозавре!:D

Safort 16.08.2015 21:28

Цитата:

Сообщение от kobezzza (Сообщение 384507)
Скажи им, что если они не заюзают Бабель, то я приду к ним...верхом на динозавре!:D

Хех) Если бы всё было так просто)

trikadin 16.08.2015 21:39

Safort, честно говоря, я не понимаю, в чём проблема. У вас бэкенд на ноде? Если да, то _актуальный_ стандарт EcmaScript сейчас -- это EcmaScript 2015. Это значит, что ещё где-то через полгода (когда сольются нода и io.js) в ноде будет нативная поддержка всего того, поддержку чего сейчас обеспечивает бабель. А не использовать инструментарий того языка программирования, на котором пишешь -- отдаёт непрофессионализмом.

UPD: и да, бэйбел -- это адовый ад, не говори так.

l-liava-l 16.08.2015 22:43

Цитата:

Safort, честно говоря, я не понимаю, в чём проблема. У вас бэкенд на ноде?
Да если так то можно смело подключать любые фичи и никаких сомнений быть не может.

Цитата:

Скажи им, что если они не заюзают Бабель, то я приду к ним...верхом на динозавре!
Я тоже так приеду, на красном динозавре.

Safort 17.08.2015 00:59

trikadin,
Цитата:

Safort, честно говоря, я не понимаю, в чём проблема.
Честно говоря, я тоже)

Цитата:

Это значит, что ещё где-то через полгода (когда сольются нода и io.js)
Вообще-то, планируется в сентябре

Цитата:

UPD: и да, бэйбел -- это адовый ад, не говори так.
Почему? Что тут такого?)

Safort 17.08.2015 01:04

trikadin,
Цитата:

Если да, то _актуальный_ стандарт EcmaScript сейчас -- это EcmaScript 2015.
Ключевой аргумент - фреймворки. Далеко не все из них полностью перешли(именно перешли, а не начали переход) на ES6.

trikadin 17.08.2015 02:39

Цитата:

Сообщение от Safort
Вообще-то, планируется в сентябре

Ну, это слияние планируется, полная поддержка текущего стандарта ES займёт больше времени.

Цитата:

Сообщение от Safort
Ключевой аргумент - фреймворки. Далеко не все из них полностью перешли(именно перешли, а не начали переход) на ES6.

Ну не перешли они и бог с ними. Как это мешает использованию бабеля?

cyber 17.08.2015 10:42

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

kobezzza 17.08.2015 11:29

Цитата:

Сообщение от cyber (Сообщение 384543)
Как создать новый гит репозиторий на сервере, поднял гит сервер но не могу понять как создать новый репозиторий на сервере что бы потом в него за пушить?

А тут ответа нет?

Я хз, никогда не настраивал сервак гита.

nerv_ 17.08.2015 11:35

Цитата:

Сообщение от cyber
Как создать новый гит репозиторий на сервере, поднял гит сервер но не могу понять как создать новый репозиторий на сервере что бы потом в него за пушить?

гит сервер не нужен
git init --bare

cyber 17.08.2015 11:54

nerv_, ага понял, это нужно было делать на сервере, я делал на клиенте)
Цитата:

Сообщение от kobezzza
А тут ответа нет?

Я хз, никогда не настраивал сервак гита.

спасибо нашел , чет тупанул)

cyber 17.08.2015 21:25

Могу ли я получить как то значение [[PrimitiveValue]] ?

trikadin 17.08.2015 21:33

cyber, а конкретнее?

cyber 17.08.2015 21:38

trikadin, отличить примитивный тип от другого ?
есть ли простой способ?

nerv_ 18.08.2015 00:18

Цитата:

Сообщение от cyber
отличить примитивный тип от другого ?

typeof или уточкой:
function toString(any) {
    return Object.prototype.toString.call(any);
}

function noop() {}


alert(toString(1));
alert(toString('text'));
alert(toString(true));
alert(toString(Symbol()));
alert(toString(undefined));
alert(toString(null));


alert(toString(/1/));
alert(toString([]));
alert(toString({}));
alert(toString(noop));
alert(toString(new Date()));
alert(toString(new Map()));
alert(toString(new Set()));
alert(toString(new WeakMap()));
alert(toString(new WeakSet()));

кря-кря :)

cyber 18.08.2015 01:26

nerv_, я знаю, просто интересно можно ли как то это сделать не проверяя на всем примитивы?

Erolast 18.08.2015 11:18

function isPrimitive(value) {
  return !(value instanceof Object);
}

?

cyber 18.08.2015 11:40

Erolast,

function isPrimitive(value) {
  return !(value instanceof Object);
}


alert( isPrimitive( new String( "h" ) ) );

Erolast 18.08.2015 12:09

Так это и не строка-примитив, это String object. Там и другие странности есть:
console.log(new String("h") == new String("h")); //false
console.log(typeof new String("h") == "string"); //false

cyber 18.08.2015 12:13

Erolast, но посути это строка

Erolast 18.08.2015 12:21

Строка, но не примитив. Объект.

Erolast 18.08.2015 12:30

Если все же надо включать строки/числа/булевы-объекты (что крайне странно: они не ведут себя как примитивы), то можно так:
function isPrimitiveLike(value) {
    return value === null || value === undefined || [Boolean, Number, Symbol, String].indexOf(value.constructor) != -1;
}

nerv_ 18.08.2015 12:39

Есть код
class Parent {}

class Child extends Parent {
  constructor() {
    this.x = 1;
    super();
  }
}

на что бабель ругается
Цитата:

repl: Line 7: 'this' is not allowed before super()
5 | class Child extends Parent {
6 | constructor() {
> 7 | this.x = 1;
| ^
8 | super();
9 | }
10 | }
sandbox

1. Какого Лена Головач?
2. Разве это прописано в стандарте? Под "это" подразумеваю:
- обязательность вызова супер в ребенке в принципе
- обязательность вызова супер до работы с this в ребенке


Часовой пояс GMT +3, время: 17:37.