常用的JS代码,判断JS类型

1.用于判断当前变量的值是否为 null 或 undefined 类型。

const isNil = val => val === undefined || val === null;

isNil(null); // true
isNil(undefined); // true

2.用于判断当前变量的值是否为 null 类型。

const isNull = val => val === null;

isNull(null); // true

3.用于检查当前的值是否为数字类型。

function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}

isNumber('1'); // false
isNumber(1); // true

4.用于判断参数的值是否是对象,这里运用了Object 构造函数创建一个对象包装器,如果是对象类型,将会原值返回。

const isObject = obj => obj === Object(obj);

isObject([1, 2, 3, 4]); // true
isObject([]); // true
isObject(['Hello!']); // true
isObject({ a: 1 }); // true
isObject({}); // true
isObject(true); // false

5.用于检查参数的值是否为null以及类型是否为对象。

const isObjectLike = val => val !== null && typeof val === 'object';

isObjectLike({}); // true
isObjectLike([1, 2, 3]); // true
isObjectLike(x => x); // false
isObjectLike(null); // false

6.此代码段检查参数的值是否是由Object构造函数创建的对象。

const isPlainObject = val => !!val && typeof val === 'object' && val.constructor === Object;

isPlainObject({ a: 1 }); // true
isPlainObject(new Map()); // false

7.用于检查当前的值是否为字符串类型。

const isString = val => typeof val === 'string';

isString('10'); // true

8.用于判断参数的值是否是 Symbol 类型。

const isSymbol = val => typeof val === 'symbol';

isSymbol(Symbol('x')); // true

9.用于判断参数的类型是否是 Undefined 类型。

const isUndefined = val => val === undefined;

isUndefined(undefined); // true

10.用于判断给定的字符串是否是 JSON 字符串。

const isValidJSON = str => {
  try {
    JSON.parse(str);
    return true;
  } catch (e) {
    return false;
  }
};

isValidJSON('{"name":"Adam","age":20}'); // true
isValidJSON('{"name":"Adam",age:"20"}'); // false
isValidJSON(null); // true

记录来源于:127个常用的JS代码片段,每段代码花30秒就能看懂

 

原文地址:https://www.cnblogs.com/lwming/p/12612671.html