• 一些现代 Javascript 技巧


    当我在学习 JavaScript 时,我曾经列出一个可以节省时间的技巧列表。我从其他人的代码、编程网站以及我用来学习的教程之外的任何地方获取了这些列表。我将分享该列表中的一些技巧,我发现这些技巧在现代 JavaScript 中非常有用,它对处于学习初级阶段和中级阶段的人非常有用。

    另外,你也可以在留言区跟我分享你的一下学习技巧与相关问题,我们一起学习讨论进步。

    史蒂夫乔布斯说,这个国家的每个人都应该学习编程计算机,因为它教你如何思考。

    下面提到的一些技巧没有特定的顺序。

    处理变量赋值的逻辑运算符

    1. AND (&&)

    当且仅当所有操作数都为true时,一组布尔操作数的逻辑与 (&&) 运算符才会为true。否则会是false的。

    一般地,运算符返回第一个 falsy 的值。

    和变量的用例

    1. let a="one",b="two",c="three";
    2. let d = a && b && c; // "three"
    3. /*In above the case , the first two input should have some values, then only
    4. I can access the last one, otherwise it will return the falsy value*/
    5. let a = "",b="two",c="three";
    6. let d = a && b && c; // ""

    2. OR (||)

    当且仅当其一个或多个操作数为true时,一组操作数的逻辑 OR (||) 运算符为true。如果它的任何参数为true,则返回true,否则返回false。

    例子:

    使用上述示例,以便比较

    1. /**input1*/
    2. let a="one",b="two",c="three";
    3. let d = a || b || c; // "one"
    4. /**input2*/
    5. let a = "",b="two",c="three";
    6. let d = a || b || c; // "two"
    7. /**input3*/
    8. let a = "",b="",c="";
    9. let d = a || b || c; // ""

    03.对象中的动态属性名称

    在现代 javascript 中,使用动态键设置对象很简单。使用“[‘key’]”可以添加属性。

    例子 :

    1. var stu_address = 'address';
    2. var student = {
    3. name:'mick',
    4. age : 10,
    5. stu_address : 'chennai'
    6. }
    7. // {name:'mick', age : 10, stu_address : 'chennai'}
    8. /*Using notations you can change the key dynamically*/
    9. var stu_address = 'address';
    10. var student = {
    11. name:'mick',
    12. age : 10,
    13. [stu_address] : 'chennai'
    14. }
    15. //{name: 'mick', age: 10, address: 'chennai'}

    04.数组到对象,对象到数组

    在现代 javascript 世界中,我们可以将数组转换为对象或将对象转换为数组是最简单的方法。我想你知道扩展运算符,你可能用过很多地方,就像我们将在这里使用它的那样。

    例子 :

    数组到对象

    1. let arr = [1,2,3,4,5,6,7,8,9]
    2. const convert_obj = {...arr};
    3. // {"0": 1, "1": 2, "2": 3, "3": 4, "4": 5, "5": 6, "6": 7, "7": 8, "8": 9,"9": 10}

    对象到数组

    我们有 3 种类型将对象转换为数组

    1).Object.Keys :使用此方法,将获取所有键作为数组

    2). Object.values:使用该方法将获取所有值作为一个数组

    3). Object.entries:将获取数组中的键和值

    1. let obj = {
    2. one : 'a',
    3. two : 'b',
    4. three : 'c'
    5. };
    6. /*1. Object.keys*/
    7. const keys = Object.keys(obj) //['one', 'two', 'three']
    8. /*2. Object.values*/
    9. const values = Object.values(obj) // ['a', 'b', 'c']
    10. /*3. Object.entries*/
    11. const entries = Object.entries(obj) // [ ["one", "a"], ["two", "b"], ["three","c"] ]

    05.解构赋值

    解构赋值是一种特殊的语法,它允许我们将数组或对象“解包”成一堆变量,因为有时这样更方便。

    ES6 中引入的解构赋值使得将数组值和对象属性分配给不同的变量变得很容易,大多数人在 react、angular 等 javascript 框架中使用了这个特性。

    1. const student = {
    2. name : 'mick',
    3. age : 10,
    4. gender : 'male'
    5. }
    6. /*Before ES6 : */
    7. student.name // "mick"
    8. student.age //10
    9. student.gender // "male"
    10. /*From ES6 (using this feature) : */
    11. const {name,age,gender} = student;
    12. name // "mick"
    13. age // 10
    14. gender // "male"

    注意:在解构对象时,应该为变量使用与对应对象键相同的名称。

    1. const {name1,age,gender} = student;
    2. name1 // undefined
    3. /*if you want to assign different variable names, you can use key and pair*/
    4. const {name : name1,age : age1 , gender: gender2} = student;
    5. name1 // "mick"
    6. /*and you can assign default values */
    7. const {name,age,gender,score=70} = student;
    8. score // 70

    如果键不是那样,将分配默认值。

    在数组中:

    1. const num = [11,12,13,14,15,16,17,18,19];
    2. const [firstElement, secondElement, thirdElement] = num;
    3. firstElement // 11
    4. secondElement // 12
    5. thirdElement // 13
    6. // is equivalent to:
    7. const firstElement = num[0];
    8. const seco
    9. ndElement = num[1];
    10. let [a, b, c] = "mick"; // ["m", "i", "c"]

    总结

    以上就是我在这篇文章中,与你分享的一些关于Javascript的技巧,希望你能从中学到一些有用的东西。

  • 相关阅读:
    【Spatial-Temporal Action Localization(三)】论文阅读2018年
    BLE广播事件包解析&空口事例
    codeforces刷题二
    iOS经典面试题之深入解析分类Category的本质以及如何被加载
    尚硅谷以太坊区块链学习之NFT智能合约(6)
    【线性代数】为什么 AA* = |A|E
    ChatGPT之道:巧用写作技巧
    接口的用法、常量接口、微观接口和宏观接口(JAVA基础六)
    RocketMQ系列(一) 基本介绍
    PHP 安装
  • 原文地址:https://blog.csdn.net/qq_29528701/article/details/126890077