十个JavaScript 开发者需要学习掌握的技巧
1、三元表达式
JavaScript 中的三元表达式的语法类似于条件 if part_1 else part_2。例如,让我们看一下以下代码片段:
x = 10
x % 2 == 0? console.log("even") : console.log("odd");
// even2、快速实现检查数据类型
通常我们会想要检查变量的数据类型,这里有一个函数可以让您轻松完成!
function checkDat(tgt, type_input) {
const type = Object.prototype.toString.call(tgt).replace(/\[object (\w+)\]/, "$1").toLowerCase();
return type_input ? type === type_input : type;
}
console.log(checkDat("test")); // "string"
console.log(checkDat(1)); // "number"
console.log(checkDat(true)); // "boolean"
console.log(checkDat([], "array")); // true
console.log(checkDat({}, "array")); // false3、检查空数组
有一种快速的方法可以检查数组是否为空或空!
const arr = [];
const flag = Array.isArray(arr) && !arr.length;
const arr_1 = [1];
const flag1 = Array.isArray(arr_1) && !arr_1.length;
console.log(flag);
// true
console.log(flag1);
// false4、Short Circuit
当变量评估为真时,使用它执行某些操作:
function something() {
console.log("Hello");
}
const flag = false;
!flag && something();
// Hello
const flag1 = true;
!flag1 && something();
// Nothing5、 合并数组
轻松合并两个数组!
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
var arr = [...arr1, ...arr2];
console.log(arr);
//[0, 1, 2, 3, 4, 5];6、删除数组中的重复项
使用 Set 在一行中删除数组中的重复项:
const arr = [...new Set([0, 1, 1, 2, 2])];
console.log(arr);
// arr => [0, 1, 2]7、 没有临时变量的交换变量
如标题:在一行中交换变量:
let a = 0;
let b = 1;
[a, b] = [b, a];
console.log(a);
// a = 1
console.log(b);
// b = 08、过滤掉空值
在一行中过滤掉所有与 null 相关的值(Nah、undefined、null、")!:
const arr = [undefined, null, "", 0, false, NaN, 1, 2, "String"].filter(Boolean);
console.log(arr);
// [ 1, 2, 'String' ]9、合并对象
我们不仅可以在一行中合并两个数组,还可以对对象进行合并!
const obj1 = { a: 0, b: 1, c: 2 };
const obj2 = { c: 3, d: 4, e: 5 };
const obj = { ...obj1, ...obj2 };
console.log(obj)
// { a: 0, b: 1, c: 3, d: 4, e: 5 }10、一行生成随机数
让我们在一行中生成随机数:
const RandomNum = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
const num = RandomNum(1, 10);
console.log(num);
// 6 for example写在最后
以上就是我今天跟你分享的10关于JavaScript的技巧,希望你能学到一些新知识,并且将它应用到你的实际开发中!
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!