首页 > 其他分享 >ECMAScript 安全赋值运算符 (?=) 提案介绍及其 Polyfill

ECMAScript 安全赋值运算符 (?=) 提案介绍及其 Polyfill

时间:2024-11-13 18:22:14浏览次数:1  
标签:try const Polyfill Symbol 运算符 result error data ECMAScript

本文介绍最新的 ECMAScript 安全赋值运算符提案以及相应的替代实现

前言

我们经常会跟 try/catch 打交道,但如果你写过 Go 或者 Rust 就会发现在这两种语言中是没有 try/catch 的,那么这些语言怎么进行错误捕获呢

f, err := os.Open("filename.ext")
if err != nil {
    log.Fatal(err)
}
// do something with the open *File f
use std::num::ParseIntError;

fn multiply(first_number_str: &str, second_number_str: &str) -> Result<i32, ParseIntError> {
    let first_number = first_number_str.parse::<i32>()?;
    let second_number = second_number_str.parse::<i32>()?;

    Ok(first_number * second_number)
}

fn print(result: Result<i32, ParseIntError>) {
    match result {
        Ok(n)  => println!("n is {}", n),
        Err(e) => println!("Error: {}", e),
    }
}

fn main() {
    print(multiply("10", "2"));
    print(multiply("t", "2"));
}
func fetchData() -> Data? {
    if let data = try? fetchDataFromDisk() { return data }
    if let data = try? fetchDataFromServer() { return data }
    return nil
}

let photo = try! loadImage(atPath: "./Resources/John Appleseed.jpg")
const parseU64 = @import("error_union_parsing_u64.zig").parseU64;

fn doAThing(str: []u8) !void {
    const number = try parseU64(str, 10);
    _ = number; // ...
}

好了,以上例子仅用于体现 JavaScript 语法的简单(笑

不过也确实写 try/catch 嵌套写烦了,偶然发现了这个 ?= 提案,眼前一亮,真的简洁直观

标签:try,const,Polyfill,Symbol,运算符,result,error,data,ECMAScript
From: https://www.cnblogs.com/himeka/p/18544502

相关文章

  • PHP运算符
    PHP运算符在PHP中,运算符是一种用于执行各种数学、逻辑和字符串操作的特殊符号。它们允许我们对变量、常量或表达式进行计算和比较。以下是对PHP中各类运算符的详细介绍:1.算术运算符算术运算符用于执行基本的数学运算。加法(+):将两个数相加。减法(-):从第一个数中减去第二个数。......
  • 【C++学习笔记一】变量与运算符
    目录一、C++输出数据1.1数据的分类1.2输出数据二、注释2.1 单行注释2.2 多行注释2.3VS中的快捷键三、变量3.1声明变量3.2变量的赋值3.3示例四、常量4.1宏常量4.2const修饰的变量4.3示例五、标识符的命名5.1C++命名规则5.2C++关键字六、数据输......
  • C 语言运算符
    目录1.算术运算符2.自增运算符,自减运算符3.关系运算符4.逻辑运算符 5.位运算符6.逗号运算符7.运算优先级1.算术运算符算术运算符专门用于算术运算,主要有下面几种。+:正值运算符(一元运算符)-:负值运算符(一元运算符)+:加法运算符(二元运算符)-:减法运算符(二元运算符)*:乘法运算......
  • 【热门主题】000040 探索 ECMAScript:从起源到未来
    前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • 第一章 ECMAScript6 基础
    学习目标1.1ECMAScript6介绍1.1.1ECMAScript的概念1.1.2各浏览器对ES6的支持1.1.3ES6转码ES5支持老版浏览器1.2let与const命令1.2.1let命令1.2.2const命令1.3变量的解构赋值1.3.1数组解构赋值1.3.2对象解构赋值1.3.3字符串解构赋值1.3.4函数参数解构赋值......
  • c++-有关输出、信息输入、趣味输入应用、运算符、变量、浮点数数据类型的基础知识
    C++是一种功能强大且广泛使用的编程语言,它可以用于开发各种类型的应用程序。在这篇文章中,我们将介绍C++程序的输出、信息输入、趣味输入应用、运算符、变量和浮点数数据类型的基础知识。目录输出信息输入趣味输入应用运算符变量浮点数数据类型题目题目1:解答1:题目2:......
  • day03 运算符-分支语句
    今日内容运算符分支语句教学目标能够知道哪些运算中发生了隐式转换能够知道如何对数据进行强转能够使用自增自减运算符并知道在前在后的区别能够使用关系运算符完成数据的比较能够掌握不同逻辑运算符的运算规则能够掌握三元运算符的格式和执行流程能够运用小扩号......
  • 【JAVA】Java基础—基础语法:运算符(算数、关系、逻辑运算符)
    在Java编程中,运算符是进行各种操作的基本工具。运算符允许我们对数据进行计算、比较、逻辑运算等操作,是实现程序逻辑的关键部分。理解运算符的使用和功能对于编写高效且可读的代码至关重要。Java中的运算符主要分为以下几类:算术运算符:用于进行数学计算。关系运算符:用于比......
  • python运算符
    python运算符新手刚刚入行,请多多关照,如发现错误请及时联系1.算数运算符算数运算符包括(+(加),-(减),*(乘),/除,%(求余),//(整除),**(整除))运算符说明实例+加:两个数值先运算再赋值12.5+1.5=14-减:两数相减,结果是正数或者负数12.5-13.5=-1*乘:两数相乘,或返回一个被......
  • c语言学习5运算符与表达式
    5.1运算符与表达式5.1.1运算符:对数据进行操作赋值运算符:=算术运算符:+-*/%关系运算符:<><=>===!=逻辑运算符:&&||!位运算符:&|!<<>>~^其他运算符:++复合运算 三目运算5.1.2表达式:①表达式可以是常量,变量,运算符和操作数的组合形式If(表达式){}While(表达......