官方文檔這樣解釋:
當你把一個普通的 JavaScript 對象傳給 Vue 實例的 data 選項,Vue 將遍歷此對象所有的屬性,並使用 Object.defineProperty 把這些屬性全部轉為 getter/setter。Object.defineProperty 是 ES5 中一個無法 shim 的特性,這也就是為什么 Vue 不支持 IE8 以及更低版本瀏覽器的原因。
何為shim特性:
指把一個庫引入另一個舊的瀏覽器,然后用舊的API,實現一些新的API功能。
Object.defineProperty在IE8下只能對DOM對象使用, 如果對原生對象使用Object.defineProtry()會報錯