В описании на
MDN написано:
такой способ представляет угрозу для безопасности
Что это значит? Есть ли более подробное описание проблемы?
У меня есть свой, костыльный фреймформ. Суть проблемы в том, что есть компонент у которого необходимо иметь возможность форматировать вывод данных.
<div data-range="{ min: 1000, max: 8000 и т.д. ... }" data-format-value="Math.floor(value / 100)">
<span class="range-value"><span>
<!-- Тело компонента .... --->
</div>
<div data-range="{ min: 0, max: 100 и т.д. ... }" data-format-value="Math.floor((value / 1000) + 200)">
<span class="range-value"><span>
<!-- Тело компонента .... --->
</div>
// в недрах компонента
inputValue - это значение поля input range
formatValue - это new Function('value', 'return /* тут значение атрибута data-format-value */')
rangeValueEl - это элемент с классом 'range-value'
// вывод данных
rangeValueEl.textContent = formatValue(inputValue)
Такми образом, планировал достичь желаемого результата. То есть, иметь возможность трансформировать значение согласно требованиям.
ПС: Постарался все максимально упростить. Компоненты более сложные. Если все выкладывать, полотенце будет конкретное. Надеюсь, все понятно описал и суть согласно вопросу ясна. В конечном счете, речь не о компонентах а об использовании конструктора Function...