前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不换的周刊 第32期

不换的周刊 第32期

作者头像
不换
发布2024-04-30 14:04:14
1040
发布2024-04-30 14:04:14
举报

(封面图片来源于:基于 CC0 协议的 pixabay

!!! tip hint important "温馨提示"

代码语言:javascript
复制
周刊中所有高亮的内容都可以点击到指定内容的链接~

如果您正处在微信公众号,请直接滚动至底部?阅读原文?

关键词: JSwithArray

FE News

1.2024 年每个 JavaScript 开发人员都应该知道的 10 个面试问题

相关地址:https://medium.com/javascript-scene/10-interview-questions-every-javascript-developer-should-know-in-2024-c1044bcb0dfb

  1. 什么是闭包?
  2. 什么是纯函数?
  3. 什么是函数组合?
  4. 什么是函数式编程?
  5. 什么是 Promise?
  6. 什么是TypeScript?
  7. 什么是 Web Component?
  8. 什么是 React Hook?
  9. 如何在 React 中创建点击计数器?
  10. 什么是测试驱动开发(TDD)?

2.让我们回顾一下 JavaScript 的 with() 语句

相关地址:https://macarthur.me/posts/with

作者意图很鲜明,“with” 所带来的风险和挑战被夸大了。(:我保持中立态度

缺点:

  • 严格模式不支持
  • 范围泄漏
  • 性能
代码语言:javascript
复制
with (data) {
  await saveToDb({
    imageUrl,
    width,
    height,
  });
}

但是我还是同意把它放在 CLI 程序编写中实现,至于生产代码则不推荐,因为严格模式不支持。

其实 ES6 的结构已经相当优异了。

3.理解毫无意义的 JavaScript 特性

相关地址:https://www.smashingmagazine.com/2023/12/making-sense-of-senseless-javascript-features/

  • 0.1 + 0.2 != 0.3
  • 强制类型转换
    • 1 == true
    • "2" == 2
  • ASI 机制(自动分号插入机制)
  • 基础数据类型太多
    • null?developer/article/2414019/undefinedNaN
  • ++--

虽然确实有些困惑,但是基于历史原因,可以理解和接受,只是需要在日常开发中多家注意。

4.2023年一些新的 javaScript 数组方法

相关地址:https://12daysofweb.dev/2023/new-js-array-methods/

注:以下示例来源于原文

  • toReversed - 不修改原数组的条件下反转数组
代码语言:javascript
复制
const arr = ["Merlin", "Ursula", "Gandalf"];

const reverseArr = arr.toReversed();

// logs ["Gandalf", "Ursula", "Merlin"]
console.log(reverseArr);

// logs ["Merlin", "Ursula", "Gandalf"]
console.log(arr);
  • toSpliced - 不修改原数组的情况下数组拼接
代码语言:javascript
复制
const wizards = ['Merlin', 'Ursula', 'Gandalf', 'Radagast'];

const lessWizards = wizards.toSpliced(2, 1);

// logs ['Merlin', 'Ursula', 'Gandalf', 'Radagast']
console.log(wizards);

// logs ['Merlin', 'Ursula', 'Radagast']
console.log(lessWizards);
  • toSorted - 不修改原数组的前提下,进行排序
代码语言:javascript
复制
let sortedWizards = wizards.toSorted();

// logs ['Merlin', 'Ursula', 'Gandalf', 'Radagast']
console.log(wizards);

// logs ['Gandalf the Gray', 'Merlin', 'Ursula of the Sea']
console.log(sortedWizards);
  • with - 不修改原数组的前提下,进行修改指定索引的数据值
代码语言:javascript
复制
let differentWizards = wizards.with(2, 'Radagast');

// logs ['Merlin', 'Ursula', 'Gandalf']
console.log(wizards);

// logs ['Merlin', 'Ursula', 'Radagast']
console.log(differentWizards);

End

!!! pied-piper "交个朋友吧~"

我是不换(书生),"浪子回头金不换"的 不换,"百无一用是书生"的 书生,热爱工作,同时在工作之余也热爱开源。

本期周刊到这里就结束了,我们下期再见?~

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-09,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 不换的随想乐园 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FE News
    • 1.2024 年每个 JavaScript 开发人员都应该知道的 10 个面试问题
      • 2.让我们回顾一下 JavaScript 的 with() 语句
        • 3.理解毫无意义的 JavaScript 特性
          • 4.2023年一些新的 javaScript 数组方法
          • End
          相关产品与服务
          腾讯云服务器利旧
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com