学习笔记 JavaScript ES6 字符串的扩展

ES6 学习笔记 ES6 引入了许多新特性,如let/const解构表达式箭头函数Promise等,极大地提升了 JavaScript 的开发效率和代码可读性。掌握这些新特性,能够帮助我们编写更加现代化和高效的 JavaScript 代码。 阅读详情

学习内容:

  • 字符串的unicode表示法
  • 字符串的遍历器接口
  • 模板字符串 (反引号``)
  • String.fromCodePoint()
  • String.prototype.includes()
  • String.prototype.startsWith()
  • String.prototype.endsWith()
  • String.prototype.repeat()

上面几个方法不带prototype的方法是静态方法,有prototype是实例方法。

unicode表示法

表示一个字符的几种方法:

  1. z,直接写出字符串
  2. \u{码点} (ES6中这样使用码点)
  3. \HHH,八进制
  4. \xHH,十六进制
  5. \u0000~ffff (ES5中这样使用码点,且码点不能大于四个f)

字符串的遍历

let s = 'world'
for(item of s) {
    console.log(item)
}

-------
w
o
r
l
d

模板字符串

ES6中对单引号和双引号不作区分。

使用反引号实现字符串的换行:

// ES5的写法
let str1 = '这是第一行\n'
+'这是第二行\n'
+'这是第三行'

console.log(str1)

// ES6的写法
let str2 = `这是第一行
这是第二行
这是第三行`

console.log(str2)

-------------------
这是第一行
这是第二行
这是第三行

这是第一行
这是第二行
这是第三行

有了反引号,输出html文本代码就很方便了。

再来看个例子:

模板字符串是的变更用${ 变量名称 }

const a = 30
const b = 70
const c = '元'

let str1 = '请计算30+70等于:' + (a + b) + c // 很容易写错
console.log(str1)

let str2 = `请计算30+70等于:${a + b}${c}` // 使用模板字符串就好很好
console.log(str2)

---------------------------
请计算30+70等于:100元 
请计算30+70等于:100元

嵌套模板的例子 

场景:html定义的属性不是固定的,比如class是经过逻辑运算得到的。这里举一个根据屏幕大小动态得到icon big 还是icon small的例子:

const isLargeScreen = () => {
    return true
}
let class1 = 'icon'

// ES5实现方式
class1 += isLargeScreen() ? ' icon-big' : ' icon-small'
console.log(class1)

// ES6模板字符串
const class2 = `icon icon-${isLargeScreen() ? 'big' : 'small'}`
console.log(class2)

-----------------------
icon icon-big
icon icon-big

带标签的模板字符串

注意:

1、方法里传递模板字符串时,要直接传递,不需要括号

2、输出的:raw: (3) ['我是', ',我的年龄是', '岁']被称为原始字符串

const func = (a, b, c, d) => {
    console.log(a)
    console.log(b)
    console.log(c)
    console.log(d)
}

const name = 'Sure'
const age = 36

func`我是${name},我的年龄是${age}岁` // 向方法里传递模板字符串时,要直接传递,不需要括号

--------------------------------------------------
(3) ['我是', ',我的年龄是', '岁', raw: Array(3)] 
    0: "我是"
    1: ",我的年龄是"
    2: "岁"
    length: 3
    raw: (3) ['我是', ',我的年龄是', '岁']
Sure
36
undefined

String.fromCodePoint()

console.log(String.fromCharCode(0x20BB7)) //ES5
console.log(String.fromCodePoint(0x20BB7))

------------------------------
ஷ // ES5无法识别,因为大于ffff
𠮷 // ES6可以

String.prototype.includes() 

返回是否包含某字符串,返回boolean类型

String.prototype.startsWith()、String.prototype.endsWith()

以谁开头,以谁结尾,返回boolean类型

String.prototype.repeat()

重复拼接字符串

const str = 'string '
const newStr = str.repeat(10) // 重复10次
console.log(newStr)
 
-------------------------------------------------------------------------
string string string string string string string string string string 

【Claude】Not logged in 错误:未登录状态的判断与 /login 认证路径 bug报错已解决 login 是首选修复:大多数 "Not logged in" 只需重新执行 /login检查系统时间:时间偏差是 Token 验证失败的常见原因避免密钥库被清理:将 Claude Code 添加到系统清理工具的白名单企业环境用 API Key:如果组织禁用 OAuth,使用 API Key 认证区分凭证类型:理解 Not logged in(无凭证)vs Invalid key(有但无效) 阅读详情

相关推荐

无人机散热系统设计:从材料选择到智能调控的全面解析

本文全面解析无人机散热系统设计,从材料选择到智能调控,探讨了导热界面材料、轻量化散热结构和智能调控算法的应用。通过实战案例,展示了如何在极端环境下优化散热性能,提升无人机的工作效率和可靠性。

weixin_42567279的博客 429

js-ES6学习笔记-字符串的扩展

(本文内容主要来自网上资料) 首先介绍Unicode字符集,它其实是一个包含全世界所有字符的集合,通过它,计算机可以解析所有的字符,不再会出现代码。 而javascript支持的是UCS-2编码。 由于JavaScript只能处理UCS-2编码,造成所有字符在这门语言中都是2个字节,如果是4个字节的字符,会当作两个双字节的字符处理。JavaScript的字符函数都受到这一点的影响,无法返回正

qq_33204572的博客 396

因果推断综述-A Survey on Causal Inference

最近读到一篇讲述很全面的综述文献-《A Survey on Causal Inference》,对于接触因果推断不久的同学而言是特别详细的介绍和科普。文献很长,我会分成几部分介绍。 目录 摘要 第一部分:简介 第二部分:因果推断基础知识 第三部分:基于三种假设的因果推断方法 第四部分:实验 第五部分:应用 摘要 几十年来,因果推理是一个跨许多领域的关键研究主题,如统计、计算机科学、教育、公共政策和经济学。与随机对照试验相比,研究方向由于可用数据量大且预算要求低,如今,从观测数据..

海边凝望的博客 3182

JavaScript学习笔记--ES6学习(四) 字符串的扩展

ES6对字符串进行了一些扩展,主要表现在对Unicode 大于\uFFFF的字符的处理上。 1. ES6中字符的Unicode表示方法 在ES5中,字符串的Unicode表示方法: \uxxxx 。 xxxx表示字符的码点,这种表示仅限于\u0000 到 \uFFFF 之间的字符,超出的需要用双字节来表示。 在ES6中,对字符串的Unicode表示方法进行了改进,将码点放入大括号即...

262

手把手教你用Kali+字典爆破WiFi密码:从抓包到破解的完整流程

本文提供了一份详尽的无线网络渗透测试实战指南,重点讲解如何使用Kali Linux和Aircrack-ng套件进行WiFi安全评估。内容涵盖从硬件选型(如RTL8812AU网卡)、驱动配置、监听模式设置,到使用airodump-ng扫描抓包、捕获WPA握手包,以及利用字典进行离线破解的完整流程。同时强调了在授权环境下进行安全测试的重要性,并给出了相应的网络加固建议。

weixin_28568819的博客 1674

win 11bitlocker恢复密匙一般情况的解决方式(这里指的是你现在使用的微软账户一直没有变更过)

本来没有打算写这一篇解决帖子的,但是最近好多微博的友友都在私我询问解决方法,孩子虽然很热心,但是真的回复不过来了,打字太累了,这里给大家简单指个路,希望能够对大家有所帮助。 当时出现这个问题的时候,一搜网上的解决方法都是重装系统什么的,真是吓死孩子啦。后来去微软的官网倒腾了半天解决了问题。其实只要你没有改过微软账户,你可以直接试试我这个方法,大概三到五分钟解决问题吧。 和我情况不一样的也可以参考一下贴吧里一些大佬的分享,或者实在着急我感觉去淘宝上找个解决也不是未尝不可。 出现问题: 解决方案: 直接去微软

zhiqingxue的博客 2万+

es6学习笔记

11.15 星期三学习地址:ECMAScript 6 入门 http://es6.ruanyifeng.com/ 阮一峰下载node js,Node JS环境搭建及sublime Text 3配置Node Js环境,添加前端插件。一、es6简介: 二者关系:ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言...

jyf_568的博客 436

图像处理系列——直方图之直方图规定化(Histogram Specification)

直方图规定化也叫直方图匹配(Histogram Matching),让原图像的像素分布与规定图像的像素分布保持一致。直方图规定化比直方图均衡化更加灵活,算是直方图均衡的变种。常用于图片风格一致性的自动处理,能有效的改善图像的整体或局部的特征,广泛运用在图像增强处理中。

nanke_yh的博客 4594

es6 字符串的扩展

字符串的扩展传统的字符串拼接模板字符串标签模板ES6字符串String类扩展函数 传统的字符串拼接 var str1 = "小白"; var str2 = "hello"; var str3 = "world"; console.log(str1 + "说:" + str2 +","+ str3); //小白说:hello,world 普通字符串的拼接不包含空格和换行 var st...

Hassan的小博客! 899

基于Costas环的载波同步实现及Matlab仿真

其中,第一个相位环接收带噪声的待同步载波,并产生一个相位误差信号,这个误差信号再通过第二个相位环进行反馈控制,使得两个相位环的相位差保持为90度,最终输出同步载波信号。接下来,我们可以编写Costas环的仿真程序,并将上面生成的信号输入到Costas环中进行同步,最终输出同步后的载波信号。综上所述,本文介绍了如何使用Matlab实现基于Costas环的载波同步,并给出相应的源代码。上述代码中,我们初始化了Costas环的各个参数,然后通过循环迭代实现了相位估计和相位误差控制,最终输出了同步后的载波信号。

2301_78484069的博客 1048

Codex 实战 Skills:用 Skill 自动识别并提取 PDF/图片表格数据,效率提升 10 倍

本文介绍如何构建一个多模态文件解析 Skill,用于自动识别和提取 PDF/图片中的表格数据,提升 AI 智能体处理非结构化文档的效率。文章分析了传统方法的局限性,提出分层解析架构(预处理、检测、提取推理、后处理),推荐技术栈包括 pdfplumber、OpenCV 和多模态大模型。详细说明了 Skill 的元数据定义、数据模型设计(使用 Pydantic)和核心实现流程,通过混合策略实现从复杂文档到结构化 JSON/Markdown 的转换,使 AI 代理具备"阅读"多模态文档的能力。

yueyeguzhuo的专栏 302

Javascript-ES6扩展写法

String类在ES6indexOf():从某个位置左往右或从右往左查找字串索引。endsWith():查找是否以某个字符串开头或结尾。Includes():从某个位置开始,判断字符串是否为子串。扩展运算符两种创建数组的方法:Array.of()方法:将一组指定的值转换为数组。方法:将类数组对象或者可迭代对象转换为数组。六种数组查找方法:indexOf()方法:查找指定元素的下标值。find()findLast()方法:返回数组中满足指定条件的元素的值,未找到则返回undefined。

一个前端人,游戏开发魂。 762

YOLO26涨点改进 | 检测头改进篇 | 利用ASFF改进YOLO26检测头,自适应空间特征融合模块,在所有的目标检测上均有大幅度的涨点效果

本文提出了一种自适应空间特征融合(ASFF)检测头YOLO26,用于解决目标检测中特征金字塔跨尺度特征不一致的问题。ASFF通过学习空间权重图,自适应地融合不同尺度的特征,抑制特征层间的冲突信息。实验表明,该方法在MSCOCO数据集上显著提升了检测精度(45FPS下AP达42.4%),且仅引入极小推理开销。ASFF模块具有可微分性、模型无关性和计算成本低等优势,能够有效改善特征尺度不变性,实现速度与精度的良好平衡。文章详细介绍了ASFF的原理、实现代码及其在YOLO模型中的集成方法。

Ai缝合怪、助力小伙伴高效发论文 550

ES6之字符串的扩展

TOC/TOC。

BradenHan的专栏 968

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

黑马程序员前端JavaScript高级——ES6学习笔记

黑马程序员前端教程的PPT和代码学习笔记,里面包含了面向对象的编程思想,以及构造函数,类和对象、原型链、箭头函数、数组和字符串新增方法、函数递归、深拷贝浅拷贝、正则表达式等知识点。本文是对优快云其他博主记录的一个补充,因为黑马也是今年才陆续补充一些知识点的视频的,本文将其收录于此,雷同勿怪。

weixin_44566194的博客 3720

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JavaScript基础==>ES6扩展

一、对象操作 Object.assign.(obj, objitem) Object.assgin() //es6方法 将源对象合并到目标对象 Object.assign 在 对象只有一层时为深度克隆 否则 为浅克隆 Object.assign(newObj,a,b,c) // 第一个参数是个对象后面都是源对象也就是被合并的对象 ......

weixin_46037781的博客 1502

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ES6基础-ES6的扩展

进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符串的扩展: 模板字符串,部分新的方法,新的unicode表示和遍历方法: 部分新的字符串方法 padStart,padEnd,repeat,startsWith,endsWith,includes 字...

程序员哆啦A梦,蓝胖子 5069

JavaScript ES5 + ES6+ 字符串 (String) 所有方法大全

字符串是不可变类型,所有方法不修改原字符串,只返回新结果;includes(替代 indexOf)、、模板字符串,极大提升开发效率;截取字符串优先用slice(支持负数索引),切割转数组用split,判断包含用includes。

萌新程序员的博客,觉得有用的可以点点关注 842

ES6~es13

es6

2502_91195728的博客 1760

ES6学习笔记(五):轻松了解ES6的内置扩展对象

前面分享了四篇有关ES6相关的技术,如想了解更多,可以查看以下连接 《ES6学习笔记(一):轻松搞懂面向对象编程、类和对象》 《ES6学习笔记(二):教你玩转类的继承和类的对象》 《ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能》 《ES6学习笔记(四):教你理解ES6的新增语法》 文章目录Array的扩展方法扩展运算符(展开语法)构造函数方法: Array.from...

前端岚枫 1400

js 字符串包含_ES6字符串的扩展【JS】

ES6加强了对Unicode的支持,并且扩展了字符串对象1. 字符的Unicode表示法JS允许采用uxxxx形式表示一个字符,xxxx表示字符的码点这种表示法只限于u0000——uFFFF之间的字符超出这个范围的字符,必须用两个双字节的形式表达ES6规定只要将码点放入大括号,就能正确解读该字符有了这种表示法之后,JavaScript共有6种方法可以表示一个字符'z' === 'z' '172'...

weixin_39524959的博客 551

JavaScript ES6到ES10语法 模板字符串解构赋值

此时,模板字符串可以用来构建复杂的HTML片段,而解构赋值则可以帮助我们快速提取所需的数据字段,从而提高渲染效率。希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。利用解构赋值,我们可以轻松地从配置对象中提取必要的参数,并为其设置合理的默认值,确保程序的稳定运行。:尽管模板字符串和解构赋值带来了极大的便利,但在高频率执行的情境下,仍需考虑它们对性能的影响,必要时可以选择更为高效的替代方案。因此,在解构时应保持适度,尽量只解构真正需要的字段。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1000

【JS笔记】JavaScript语法快速上手— ES5和ES6(五)

【JS笔记】JavaScript语法 快速上手— ES5和ES6(五)

leo的博客 991
上一篇: 学习笔记 JavaScript ES6 Map
下一篇: 学习笔记 JavaScript ES6 数值的扩展
白鸽同学
博客等级 码龄20年 9粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值