javascript

{!} JavaScript Справочник - Теория JS и практические примеры кода online

«Все, что может быть написано на JavaScript, — будет написано на JavaScript»

- (ц) Джефф Этвуд (Jeff Atwood) - один из создателей Stack Overflow

Здесь будет письменный конспект к вебинарам IFF которые ожидаются в ноябре 2015 и далее.
[практический справочник здесь]

Материалы:

selenium webdriver codeception Как вернуть в код теста значение из выполненного JS

var w = window.innerWidth;
var h = window.innerHeight;

Как вариант - добавить в невидимый блок в тело страницы, а потом считать, но это, конечно, не очень удобно.

javascript Прибавляем к текущей дате дни (неделю) и минуты - пример кода (+ вывод в виде строки)

import { format} from 'date-fns';

const currentDatetime = new Date();
const addionalMinutes = 10;
const addDays = 7;
const defaultStartDatetimeStr =  // прибаляем 10 минут к текуще 
    format((new Date()).setTime(
        currentDatetime.getTime() + addionalMinutes*60000),
         'yyyy-MM-dd HH:mm'
    ); 
const defaultEndDatetimeStr =  // прибаляем 10 дней к текущей дате
    format((new Date()).setDate(
        currentDatetime.getDate() + addDays),
         'yyyy-MM-dd HH:mm'
    );

javascript Date datetime Форматирование даты и времени - -проверка даты на корректность typeof Date, date-fns

С использованием библиотеки date-fns:

import { format, isValid} from 'date-fns';

if (isValid(date)) {
      console.log('is date!!');
      setState({ ...state, 
         [input_name]: format(date, 'yyyy-MM-dd HH:mm') });
 }

await promise all Получение нескольких значений -- пример кода

Можно так (если функции в массиве возвращают промисы):

try {
	[Types, Statuses] = await Promise.all(
		[
			ApiRequest.get('type'),
			ApiRequest.get('status')
		]);

} catch (error) {
	console.log('ajaxError error:', error);
}

Читайте по теме:

javascript string В Boolean -- Конвертировать строковый тиреал в булевское логическое значение

Можно так:

const toBoolIfBoolLiteral = (value) => {
        var result = value;
        if (value === 'true') {
            result = true;
        } else if (value === 'false') {
            result = false;
        }
        return result;
    };

На базе идеи: https://stackoverflow.com/a/264037

javascript Объявление переменных, констант в скобках - фигурные и квадратные, какая разница

В чем разница фигурных (объектных) и квадратных скобок массов:

 // получение в константе classes свойства   props.classes
const { classes, bit1: bit2 } = props;

// получение первых двух элементов myArr в переменных value и value2 соответственно.
const [value, value2] = myArr;

webpack encore Настройка пседонима пути для файлов javascript

В Symfony 4.3 можно использовать вызов (webpack.config.js):

Encore
    .addAliases({ // псевдонимы путей для более удобной загрузки 
// вне зависимости от уровня вложенности файл в приложении
        '@universal': path.resolve(__dirname, 'assets/js/react/components/universal'),
      },
    );

После чего вместо путей типа:

import FormSection from '../../../universal/form/FormSection'

использовать:

webpack import Импорт из папки вложенной в текущую -- пример

Явно указывайте относительный путь, начиная с точки, если (если папка common лежит в той же папке, в которой расположен скрипт, в котором вы пишите данную инструкцию импорта):

import './common/bootstrap.js';

bootstrap import js css Подключение - пример

Можно так:

/* 
 * Подключени бустрапа
 */
import 'bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';

Pages

Subscribe to RSS - javascript