ES6第四章字符串的扩展

ES6第四章
  • 1.字符的Unicode表示法
    • 加强了表示的方法,原来只能表示\u0000~\uFFFF超过范围的无法表示现在可以勇\u{20BB7}这样子。
  • 2.字符串的遍历借口
    • 字符串的遍历借口,除了可以正常的遍历,还可以识别大于\uFFFF的字符。但是要用for(…of…)才行。
  • 3.允许直接输入字符
    • 直接在字符串里面输入这个汉字,也可以输入它的转义形式\u4e2d,两者是等价的。也就是说'中'==='\u4e2d'

      JavaScript 规定有5个字符,不能在字符串里面直接使用,只能使用转义形式。
      U+005C:反斜杠(reverse solidus)
      U+000D:回车(carriage return)
      U+2028:行分隔符(line separator)
      U+2029:段分隔符(paragraph separator)
      U+000A:换行符(line feed)
      主要是因为json格式允许直接使用字符串所以就可能出问题。ES2019允许JavaScript直接输入U+2028和U+2029。

  • 4.JSON.stringify() 的改造
    • 现在的stringify()遇到两个码点时返回的时两个码点不像以前多个码点返回的还是单个码点。
  • 5.模板字符串
    • 模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
    //单行字符串
    `In JavaScript '\n' is a line-feed.`
    // 多行字符串
    `In JavaScript this is
    not legal.`
    console.log(`string text line 1
    string text line 2`);
    // 字符串中嵌入变量
    let name = "Bob", time = "today";
    `Hello ${name}, how are you ${time}?`
    

    在字符串里面使用“ ‘ ”要用 " ’ "
    模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。
    模板字符串中嵌入变量,需要将变量名写在${}之中。

  • 标签模板
    • 1 . 当函数后面的字符串没有变量的时候就直接当作函数的参数来处理。
    • alert`hello` = alert([‘hello’])

    • 2 . 函数后面有变量的时候先将在字符串处理成多个函数再调用函数。
      let a = 5;
      let b = 10;
      tag`Hello ${ a + b } world ${ a * b }`;
      // 等同于
      tag(['Hello ', ' world ', ''], 15, 50);
      
    • 3.过滤 HTML 字符串,防止用户输入恶意内容

      把用户给的内容的中的恶意字符转义一次就好了

    • 4.多语言转换

      使用标签模板在JavaScript里面嵌入其他语言

    • 5.模板字符串的限制

      在标签模板破解字符的时候会放松一点遇到不合法的字符串会返回undefined而不是报错,但是在标签模板的时候还是会报错的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值