2016-11-30 1 views
0

Я хочу создать функцию, которая принимает аргумент как литерал шаблона, однако выдает ошибку, если в литературе шаблона есть какие-либо переменные в шаблоне.Не допускайте, чтобы литерал шаблона содержал переменную

Например, допустимо следующее.

const value = checker(`hello world`) 

Однако это приведет к ошибке.

const value = checker(`hello ${name}`) 

Каков наилучший способ достичь этого?

ответ

1

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

var a = 5; 
var b = 10; 

function noVarTemplate(strings, ...values) { 
    if (values.length) throw new Error('the noVarTemplate does not allow template literal values') 
    return strings[0] 
} 

const value = noVarTemplate`Hello World` 

// const value = noVarTemplate`Hello ${a}` 

console.log(value) 
Смежные вопросы