第292期 — 2024-11-30

在浏览器中阅读

周e信

扫描二维码关注微信公众号

Javascript

探索 JavaScript Symbol🔗

当你使用 Symbol 作为属性键时,它不会显示在 Object.keys() 中,也不会正常显示for...in 循环。

当您创建副本 (stringify) 时,使用 Symbol 键存储的任何内容都将变得不可见。

Symbol.toPrimitive 允许我们控制对象如何转换为不同类型的对象。JavaScript 通过 'hint' 参数告诉我们它想要什么类型。

const user = {
  name: 'Alex',
  score: 42,
  [Symbol.toPrimitive](hint) {
    // JavaScript tells us what type it wants with the 'hint' parameter
    // hint can be: 'number', 'string', or 'default'

    switch (hint) {
      case 'number':
        return this.score;    // When JavaScript needs a number (like +user)

      case 'string':
        return this.name;     // When JavaScript needs a string (like `${user}`)

      default:
        return `${this.name} (${this.score})`; // For other operations (like user + '')
    }
  }
};

// Examples of how JavaScript uses these conversions:
console.log(+user);        // + operator wants a number, gets 42
console.log(`${user}`);    // Template literal wants a string, gets "Alex"
console.log(user + '');    // + with string uses default, gets "Alex (42)"

Trevor I. Lasn

node-country-to-iso - 将不一致的国家地区名称和代码转换为 ISO 3166-1 alpha-2🔗

countryToAlpha2("United States"); // returns "US"
countryToAlpha2("United States of America"); // returns "US"
countryToAlpha2("America"); // returns "US"

James Jackson

Deno 诉 Oracle - 撤销 JavaScript 商标🔗

上次公开信请求oracle释放javascript商标,oracle没有回应。那这次就较真

Ryan Dahl

人工智能

部分解释 LLM 国际象棋的怪异之处🔗

OpenAI 在比开放模型使用的棋局更多/更好的数据集上训练其基础模型。

dynomight

TensorZero

其他

Kenton Varda, Jade Wang

FrostKiwi

Steve Bradt

Ben Wang

旅行者 1 号通过自 1981 年以来未使用的无线电发射器重新与NASA联络🔗

几十年前就采用备用无线电发射机的远见卓识强调了为太空探索中不可预见的情况进行规划的必要性。

Margherita Bassi

扫描二维码关注微信公众号
本期阅读量