// Converts snake-case to camelCase
String.prototype.toCamel = function () {
return this.replace(/(\-[a-z])/g, $1 => $1.toUpperCase().replace('-', ''));
};
当我执行以下操作时:
// Converts snake-case to camelCase
String.prototype.toCamel = () => this.replace(/(\-[a-z])/g, $1 => $1.toUpperCase().replace('-', ''));
我收到此错误:
modifiers.js:9 Uncaught TypeError:无法读取属性'替换'未定义的
我如何使用toCamel
功能:
// Add style to coin
export const setStyle = (id) => {
switch (id) {
case 'basic-attention-token': return style.basicattentiontoken;
case 'bitcoin-cash': return style[id.toCamel()];
case 'deepbrain-chain': return style[id.toCamel()];
case '0x': return style.zrx;
default: return style[id];
}
};
答案 0 :(得分:4)
箭头功能具有词法绑定,因此您无法以您希望的方式使用this
。如果你this
未定义,你就无法读取它的'替换'属性。
答案 1 :(得分:0)
问题是您正在使用箭头功能。
箭头函数表达式是词法绑定this
值。因此,该值绑定到undefined
。你必须使用正常的功能。