vue 为什么不支持 IE8 及其以下版本

*官方给出的解释是:

因为 Vue.js 使用了 IE8 不能模拟的 ECMAScript 5 特性。

但具体是哪些特性呢?

Object.defineProperty()

该方法允许精确添加或修改对象的属性。一般情况下,我们为对象添加属性是通过赋值来创建并显示在属性枚举中(for…in 或 Object.keys 方法),但这种方式添加的属性值可以被改变,也可以被删除。而使用 Object.defineProperty() 则允许改变这些额外细节的默认设置。例如,默认情况下,使用 Object.defineProperty() 增加的属性值是不可改变的。

在 vue 源码中搜索 “Object.defineProperty” :

vue 为什么不支持 IE8 及其以下版本_第1张图片

可以看到有 5 个匹配的地方,也就是说 vue 中有 5 处使用了 “Object.defineProperty()”。

搜索的版本是: Vue.js v1.0.26

Object.defineProperty()的浏览器支持情况:

vue 为什么不支持 IE8 及其以下版本_第2张图片

可以看出支持情况是 IE9 及以上。所以…

【2018-11-07更新】
vue 官方有对这个的说明:
vue 为什么不支持 IE8 及其以下版本_第3张图片

vue 文档 - 深入响应式原理

---------------------------(正文完)------------------------------------
一个 Vue 的学习交流群,想进来面基的,可以点击这个logo,或者手动search群号:685486827


写在最后: 约定优于配置-------软件开发的简约原则.
-------------------------------- (完)--------------------------------------

我的:
个人网站: https://neveryu.github.io/neveryu/
Github: https://github.com/Neveryu
新浪微博: https://weibo.com/Neveryu

更多学习资源请关注我的新浪微博…

你可能感兴趣的:(前端)