前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue源码中9个可借鉴的基础方法

Vue源码中9个可借鉴的基础方法

作者头像
Javanx
发布2020-02-28 14:22:42
4740
发布2020-02-28 14:22:42
举报
文章被收录于专栏:web秀web秀
Vue源码中9个可借鉴的基础方法
Vue源码中9个可借鉴的基础方法

1、基础判断

代码语言:javascript
复制
    function isUndef(v) {
        return v === undefined || v === null
    }
    function isDef(v) {
        return v !== undefined && v !== null
    }
    function isTrue(v) {
        return v === true
    }
    function isFalse(v) {
        return v === false
    }

2、检查是否是原始值

代码语言:javascript
复制
    function isPrimitive(value) {
        return (
            typeof value === 'string' ||
            typeof value === 'number' ||
            // $flow-disable-line
            typeof value === 'symbol' ||
            typeof value === 'boolean'
        )
    }

3、快速对象检查

代码语言:javascript
复制
    function isObject(obj) {
        return obj !== null && typeof obj === 'object'
    }

4、获取值的原始类型字符串

代码语言:javascript
复制
    var _toString = Object.prototype.toString;

    function toRawType(value) {
        return _toString.call(value).slice(8, -1)
    }

5、严格的对象类型检查

代码语言:javascript
复制
    function isPlainObject(obj) {
        return _toString.call(obj) === '[object Object]'
    }
    // 这里大家可以思考一下为什么使用这种方式,还有下面的正则检查

6、严格的正则类型检查

代码语言:javascript
复制
    function isRegExp(v) {
        return _toString.call(v) === '[object RegExp]'
    }

7、检查是够是有效的数组下标

代码语言:javascript
复制
    function isValidArrayIndex(val) {
        var n = parseFloat(String(val));
        return n >= 0 && Math.floor(n) === n && isFinite(val)
    }

8、值转换为实际的字符串

代码语言:javascript
复制
    function toString(val) {
        return val == null ?
            '' :
            Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) ?
            JSON.stringify(val, null, 2) :
            String(val)
    }

9、值转换为数字以进行持久化

代码语言:javascript
复制
    function toNumber(val) {
        var n = parseFloat(val);
        return isNaN(n) ? val : n
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、基础判断
  • 2、检查是否是原始值
  • 3、快速对象检查
  • 4、获取值的原始类型字符串
  • 5、严格的对象类型检查
  • 6、严格的正则类型检查
  • 7、检查是够是有效的数组下标
  • 8、值转换为实际的字符串
  • 9、值转换为数字以进行持久化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档