diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScriptRefSugar.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScriptRefSugar.spec.ts.snap index 6dc4229ce..32acabe3d 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScriptRefSugar.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScriptRefSugar.spec.ts.snap @@ -99,11 +99,18 @@ export default _defineComponent({ setup(__props, { expose }) { expose() - let n = _ref() - console.log(n.value!) - console.log(n.value as number) + let a = _ref(1) + console.log(a.value!) + console.log(a.value! + 1) + console.log(a.value as number) + console.log((a.value as number) + 1) + console.log(a.value) + console.log(a.value + 1) + console.log(a.value! + (a.value as number)) + console.log(a.value! + a.value) + console.log((a.value as number) + a.value) -return { n } +return { a } } })" diff --git a/packages/compiler-sfc/__tests__/compileScriptRefSugar.spec.ts b/packages/compiler-sfc/__tests__/compileScriptRefSugar.spec.ts index d479dbbf9..59964d851 100644 --- a/packages/compiler-sfc/__tests__/compileScriptRefSugar.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScriptRefSugar.spec.ts @@ -286,17 +286,25 @@ describe('`, { refSugar: true } ) assertCode(content) - expect(content).toMatch('console.log(n.value!)') - expect(content).toMatch('console.log(n.value as number)') + expect(content).toMatch('console.log(a.value!)') + expect(content).toMatch('console.log(a.value as number)') + expect(content).toMatch('console.log(a.value)') }) describe('errors', () => { diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index bef32c8fe..320c00b52 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -1785,7 +1785,8 @@ export function walkIdentifiers( parent && parent.type.startsWith('TS') && parent.type !== 'TSAsExpression' && - parent.type !== 'TSNonNullExpression' + parent.type !== 'TSNonNullExpression' && + parent.type !== 'TSTypeAssertion' ) { return this.skip() }