Tag: ecmascript 6

Почему было выбрано имя «let» для объявлений переменных в блочной области в JavaScript?

Я понимаю, почему var принимает это имя – переменная, const – это константа, но в чем смысл имени let , которое привязывается к текущему блоку? Будь как будет?

Генераторы документации ECMAScript 6

Я ищу генератор документации для EcmaScript 6. Я не нашел ни одного. JSDoc 3 не поддерживает https://github.com/jsdoc3/jsdoc/issues/555 Docco ничего не найдено SmartComments ничего не найдено, но маловероятно, слишком маленький проект YuiDoc ничего не найдено NaturalDocs ничего не найдено, но не сосредотачивается на JavaScript SphinxDoc ничего не найдено Так что на самом деле нет генератора документации […]

Как использовать функции стрелок (public class fields) в качестве методов класса?

Я новичок в использовании классов ES6 с React, ранее я привязывал свои методы к текущему объекту (показать в первом примере), но позволяет ли ES6 навсегда привязать функцию класса к экземпляру класса со стрелками? (Полезно при передаче в качестве функции обратного вызова.) Я получаю ошибки, когда пытаюсь использовать их, как вы можете, с помощью CoffeeScript: class […]

Рекурсивное обещание терпит утечку памяти?

Рассмотрим этот фрагмент, где функция b получает обещание и называет себя, когда он разрешен, чтобы получить другое обещание: var a = function () { var timeout = 1000; let time_promise = new Promise((resolve, reject) => { let success = false; setTimeout(()=> { document.getElementById('log').appendChild(document.createTextNode("Called ")); resolve(); }, timeout); }); return time_promise; }; var b = function() […]

Почему класс сначала возвращает пустой объект-прототип в javascript?

У меня есть код ниже, как вы видите, когда console.log прототип класса первый раз, он возвращается пустым, но объект, новый из этого класса, действительно может откликнуться на этот метод, тогда я добавляю функцию в прототипе и успешно приношу новый объект , Как это можно объяснить? кодовая class Polygon { constructor(height, width) { this.height = height; […]

Параметры функциональных возможностей по умолчанию в javascript

Я играю с некоторыми функциями EcmaScript 2015, и я должен сказать, что спецификация довольно трудно понять. Я полностью понимаю, что этот код должен вызывать ошибку: (function(a = b, b = 1) { })(); И я знаю, что значение по умолчанию может использовать внешнюю область: (function() { let c = 1; return (function(a = c) { […]

Каковы преимущества / недостатки для создания функции верхнего уровня в ES6 со стрелками или без?

Каковы преимущества / недостатки для создания функции верхнего уровня в ES6 / ES2015 по-разному? Или это просто вопрос руководства по вкусу / стилю и т. Д.? Опция 1: function square(n) { return n * n; } Вариант 2: var square = function(n) { return n * n; }; Вариант 3: var square = (n) => […]

Как вернуть ответ от асинхронного вызова?

У меня есть функция foo которая делает запрос Ajax. Как я могу вернуть ответ от foo ? Я попытался вернуть значение из обратного вызова success а также назначить ответ локальной переменной внутри функции и вернуть ее, но ни один из этих способов не возвращает ответ. function foo() { var result; $.ajax({ url: '…', success: function(response) […]

Разница между импортом и импортом из

Я просматриваю некоторые учебники по ES6 / браузерам, и я вижу что-то вроде: import 'jquery'; import domready from 'domready'; В чем разница между импортом и импортом? Если я использую только импорт domready – domready не работает.

Почему я не могу начать режим гармонии с помощью «node –harmony test.js» из командной строки?

Проблема в: longhao33@hePC:~$ node –harmony test.js /home/longhao33/test.js:1 (function (exports, require, module, __filename, __dirname) { let str = 'es666666666666'; ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:413:25) at Object.Module._extensions..js (module.js:452:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:475:10) at startup (node.js:117:18) at node.js:951:3 […]

JavaScript делает сайт умным, красочным и простым использованием.