399 字
2 分钟
JavaScript的一些奇淫小技巧

前言#

JavaScript是一门强大的编程语言,它不仅被用来开发前端,也在后端中扮演着重要的角色。作为用途如此广泛的语言,怎能没有一些小技巧呢?

本篇记录了本人在编程过程中发现的一些奇淫技巧和一些易错点(其实大部分是问ai得知的),希望对大家有帮助~

正片开始#

  1. 关于扩展运算符(...)

    • 基本
    const a = [1, 2, 3];
    const b = [4, 5, 6];
    const merged = [...a, ...b];
    //传参
    const lst = [1,2,3]
    f(...lst)
    • 将字符串转换为字符数组
    const str = "hello";
    const chars = [...str]; // ['h', 'e', 'l', 'l', 'o']
    • 用于赋值
    const { a, b, ...newDict } = dict; // newDict为dict去除a和b后的对象
    //数组中同理
  2. 可选链操作符(?.)

    const dict = {
    a: 'b'
    };
    console.log(dict?.a)

    等效于

    if('a' in dict)
    console.log(dict.a)
    else
    console.log(undefined)
  3. 一些赋值操作

    • 基本
    const a = null;
    const b = a ?? 'default'; //如果a为null或undefined,b为'default'
    const b = a || 'default';
    const b = a ? a : 'default';//这三行效果相同
    console.log(b); // 'default'
    • 同理
    let user = { name: "test", age: 0 };
    user.age ??= 18;
    user.score ??= 100;
    //{name: "test", age: 0, score: 100}

    等效于

    user.age = user.age || 18;
    user.score = user.score || 100;

    又或者

    user.age = user.age ? user.age : 18;
    user.score = user.score ? user.score : 100;
  4. 关于对象

    • p判断是否为对象
    typeof obj === 'object' && obj!== null // 排除null的情况
    • 动态创建对象属性
    const key = 'name';
    const value = 'John';
    const obj = { [key]: value };
    console.log(obj); // { name: 'John' }

结语#

差不多就是这样,更多技巧待我后续补充~

JavaScript的一些奇淫小技巧
https://w.r-z.top/posts/nifty-of-javascript/
作者
W.R.Z
发布于
2026-02-12
许可协议
CC BY-NC-SA 4.0