vue3.0 编写格式问题

我看着有的人是这样写的

<script lang="ts" setup>
import { ref } from 'vue'

const value = ref('')
</script>

有人是这样写的

<script>
import { ref } from 'vue';
export default defineComponent({
     setup () {
      const value = ref(''); 
      return {
         value
       }
})
</script>

这样的写法有什么不同? 哪一种更好一点?

上面的是 vue3.2版本 下面的是vue3.1版本

从vue3.1过渡到vue3.2 也是vue为了简便程序员写法的一项优化 setup可以直接写在 script 当中 并且不再需要将响应式数据方法 return 抛出