From aaec51981c1e8b167a74172724c1690f37638ff4 Mon Sep 17 00:00:00 2001 From: Andrew Talbot Date: Sat, 18 Apr 2020 13:40:12 -0400 Subject: [PATCH 1/4] perf(shared): use startsWith instead of indexOf 0 --- packages/shared/src/normalizeProp.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/src/normalizeProp.ts b/packages/shared/src/normalizeProp.ts index 201e49806d3..77357c681a8 100644 --- a/packages/shared/src/normalizeProp.ts +++ b/packages/shared/src/normalizeProp.ts @@ -29,7 +29,7 @@ export function stringifyStyle( } for (const key in styles) { const value = styles[key] - const normalizedKey = key.indexOf(`--`) === 0 ? key : hyphenate(key) + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key) if ( isString(value) || (typeof value === 'number' && isNoUnitNumericStyleProp(normalizedKey)) From 0b11317878ca28cf4d9067a4746dfcb75908f6b8 Mon Sep 17 00:00:00 2001 From: Andrew Talbot Date: Sat, 18 Apr 2020 13:40:58 -0400 Subject: [PATCH 2/4] perf(runtime-dom): startsWith instead of indexOf --- packages/runtime-dom/src/modules/attrs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime-dom/src/modules/attrs.ts b/packages/runtime-dom/src/modules/attrs.ts index 10fe06afb7a..b9bba846b0d 100644 --- a/packages/runtime-dom/src/modules/attrs.ts +++ b/packages/runtime-dom/src/modules/attrs.ts @@ -8,7 +8,7 @@ export function patchAttr( value: any, isSVG: boolean ) { - if (isSVG && key.indexOf('xlink:') === 0) { + if (isSVG && key.startsWith('xlink:')) { if (value == null) { el.removeAttributeNS(xlinkNS, key.slice(6, key.length)) } else { From 0873060ced92e1bc303739770af9b160dabd5c7c Mon Sep 17 00:00:00 2001 From: Andrew Talbot Date: Sat, 18 Apr 2020 13:41:51 -0400 Subject: [PATCH 3/4] perf(runtime-core): startsWith instead of indexOf --- packages/runtime-core/src/componentEmits.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime-core/src/componentEmits.ts b/packages/runtime-core/src/componentEmits.ts index 228991b51d0..7b91bf34692 100644 --- a/packages/runtime-core/src/componentEmits.ts +++ b/packages/runtime-core/src/componentEmits.ts @@ -73,7 +73,7 @@ export function emit( let handler = props[`on${capitalize(event)}`] // for v-model update:xxx events, also trigger kebab-case equivalent // for props passed via kebab-case - if (!handler && event.indexOf('update:') === 0) { + if (!handler && event.startsWith('update:')) { event = hyphenate(event) handler = props[`on${capitalize(event)}`] } From e6bc568dca942b5783706975f42e0d2ddef7a405 Mon Sep 17 00:00:00 2001 From: Andrew Talbot Date: Sat, 18 Apr 2020 13:43:21 -0400 Subject: [PATCH 4/4] perf(runtime-dom): startsWith instead of indexOf --- packages/runtime-dom/src/patchProp.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime-dom/src/patchProp.ts b/packages/runtime-dom/src/patchProp.ts index 4543bd1a54d..979f9f2427d 100644 --- a/packages/runtime-dom/src/patchProp.ts +++ b/packages/runtime-dom/src/patchProp.ts @@ -30,7 +30,7 @@ export const patchProp: RendererOptions['patchProp'] = ( default: if (isOn(key)) { // ignore v-model listeners - if (key.indexOf('onUpdate:') < 0) { + if (!key.startsWith('onUpdate:')) { patchEvent(el, key, prevValue, nextValue, parentComponent) } } else if (