Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #91 (permalink)  
Старый 10.12.2014, 13:33
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Поигрался с Символами из ES7, офигенная тема, теперь мы можем срать в Object.prototype и не боятся наступить на мину

Object.prototype[Symbol.referenceLength] = function () {
    return Object.keys(this).length;
};

var foo = {a: 1, b: 2};
foo::length() // 2


Вообще ES7 делает качественный скачок в развитии языка, что не может не радовать.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 10.12.2014 в 19:16.
Ответить с цитированием
  #92 (permalink)  
Старый 10.12.2014, 17:55
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от kobezzza
Symbol.referenceLength
Сообщение от kobezzza
::length
вау!
Ответить с цитированием
  #93 (permalink)  
Старый 10.12.2014, 19:12
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Копался на wiki GCC и обнаружил 2 вещи:

1) Теперь GCC частично понимает ES6 и даже умеет работать как транслятор: https://github.com/google/closure-co...ki/ECMAScript6

2) Аннотацию @expose решили выпилить (из доки её уже потёрли) и заменить на @exports: https://github.com/google/closure-compiler/issues/636. Беда в том, что @exports сейчас адово глючит и последняя стабильная сборка не поддерживает часть новых опций этой аннотации, т.е. они поспешили удалить @expose, но не доделали @exports, печалька.
__________________
kobezzza
code monkey
Ответить с цитированием
  #94 (permalink)  
Старый 15.12.2014, 18:35
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

https://github.com/6to5/6to5/pull/29...mment-66951875
Скорость автора всех шокирует
__________________
kobezzza
code monkey
Ответить с цитированием
  #95 (permalink)  
Старый 28.12.2014, 23:56
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Наш немецкий коллега снова радует наиподробнейшими статьями http://www.2ality.com/2014/12/es6-symbols.html
Ответить с цитированием
  #96 (permalink)  
Старый 06.01.2015, 08:30
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

И ещё одна годнота http://www.2ality.com/2015/01/es6-maps-sets.html
На этот раз про Maps и Sets.
Ответить с цитированием
  #97 (permalink)  
Старый 07.01.2015, 00:49
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Тут такое дело.. короче, я не осилил модули с использованием 6to5.
Как быть? Тестирую на клиенте вот это:
index.js
import aaa from 'c_module';

aaa();


c_module.js
function aaa() {
  console.log('text');
}


exports default aaa;


Компилируется без ошибок, но в браузере выдаёт это:
Цитата:
ReferenceError: require is not defined
Не пойму, ему ещё что-то надо(доп. библы) или что?
Будьте добры, подскажите кто пользуется.
Ответить с цитированием
  #98 (permalink)  
Старый 07.01.2015, 08:30
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Не пойму, ему ещё что-то надо(доп. библы) или что?
Аха, сходу только в ноде заработает, для браузеров, вроде как, нужно прикручивать browserify.

Но лично я компилирую в AMD с использованием RequireJS - это асинхронная загрузка, что плюс к скорости. Выглядит так:
//gulptask.js
gulp.task("build", function() {
    gulp.src(`./src/${page}/*.js`)
        .pipe(sourcemaps.init())
        .pipe(es6to5({
            modules: "amd",
            moduleIds: true
        }))
        .pipe(concat("index.js"))
        .pipe(gulpif(production, uglify()))
        .pipe(sourcemaps.wirte("./"))
        .pipe(gulp.dest(`./build/${page}`));
})

<!-- index.html -->
<script data-main="./build/index/index" src="./lib/require.js"></script>
<script>
    requirejs.config({
        enforceDefine: true,
        paths: {
            //Пути к сторонним библиотекам
            jquery: [
                "https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min", //CDN
                "./lib/jquery.js" //Фоллбек
            ]
        }
    })
</script>

Последний раз редактировалось Erolast, 07.01.2015 в 09:19.
Ответить с цитированием
  #99 (permalink)  
Старый 07.01.2015, 11:01
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Erolast,
спасибо, сегодня как-нибудь попробую.
Ответить с цитированием
  #100 (permalink)  
Старый 07.01.2015, 11:08
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Я-то надеялся что оно само всё за меня подключит
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать HTML фичи? 2chan Events/DOM/Window 6 26.09.2014 18:50