ES6中字符串的方法和其他

本文介绍了ES6中的四个主要特性:字符串的repeat(), includes(), startsWith(), endsWith()和trim()方法,详细阐述了它们的使用方式和功能。接着讲解了Map数据类型,展示如何添加、读取和删除键值对。然后讨论了类的概念,包括如何创建类、实例化对象以及继承。最后,解释了Symbol的独特性质,如何避免命名冲突,并在对象中使用Symbol作为键。

ES6中字符串的方法和其他

  1. 字符串方法
  2. Map
  3. class类
  4. symbol

一、字符串方法

  1. repeat()
  2. includes()
  3. startwith()
  4. endwith()
  5. trim()

1.repeat()用于返回重复字符串参数为重复的次数

			const str="hello world"
			let result=str.repeat(2)
			console.log(result)//hello worldhello world

2.includes()用于判断是否存在目标字符,存在返回true不存在返回false

			const str="hello world";
			let result=str.includes("he");
			console.log(result)//true

3.startWith()判断是否以什么开头

			const str="hello world";
			let result=str.startsWith("he");
			console.log(result)//true

4.endWith()判断是否以什么结尾

			const str="hello world";
			let result=str.endsWith("he");
			console.log(result)//false

5.trim()用于去除首尾字符串的空格

			const str="      helloworld    "
			let result=str.trim(str)
			console.log(result);//helloworld

二、数据类型Map

对原本的对象类型,加强,原本key只可能是字符串,map类型可以让任意类型的数据作为key

如果需要往里面添加和读取,需要使用set和get方法

如果需要往里面读取和删除,需要使用has和delete方法

			const obj={
				name:"小明",
				age:18
			}
			let m=new Map();
			m.set(obj,1);
			console.log(m.get(obj))
			console.log(m)

 三、class类

之前的js没有类这个概念,所以创建对象的时候只能使用构造函数创建

在constructor中写入属性,在class里写方法,直接实例化能快速创建对象

			class People{
				constructor(name,age,height){
					this.name=name;
					this.age=age;
					this.height=height
			    }
			    run(){
		            console.log("能跑")
	            }
			}
			let p1=new People("张三",21,190);
			let p2=new People("李四",21,190);

如果要继承该类,需要使用extends来实现继承,如果是要调用父类的属性,要使用super才行

			        class Student extends People{
			            constructor(name,age,height,score){
			                // 在继承中有一个super方法用来调用父级的构造函数
			                super(name,age,height);
			                // super必须写在自己属性的上方
			                this.score=score;
			            }
			            showInfo(){
			                console.log(this.name)
			            }
			            // 如果想重构父级的方法,直接重新写就能覆盖
			            run(){
			                console.log(this.name+"正在跑")
			            }
			        }

这样创建的方法比较简单,比混合继承看起来更加清晰,创建在类里的方法是直接挂载到原型上的不需要再使用prototype来减少内存,而且也能直接使用instanceof判断类名

四、symbol

独一无二的值,防止出现命名的冲突问题,用于作为对象的key的值

        let s=Symbol("123")
        let s2=Symbol("123")
        console.log(s===s2)//false

如果要使用symbol加入对象中需要使用中括号来加入

				        let n=Symbol("name");
				        let obj={
				            age:21
				        }
						obj.n="张三"//对象n
				        obj[n]="张三"//Symbol("name")
						console.log(obj)

### ES6 数组字符串方法使用指南 ES6 引入了许多新的特性,其中数组字符串的操作方法得到了显著增强。以下是关于 ES6 中数组字符串相关方法的详细说明。 #### 1. 数组操作方法 ES6 提供了多种用于操作数组的新方法,这些方法可以简化代码逻辑并提高可读性。 - **扩展运算符 (`...`)** 扩展运算符允许将一个数组拆分为多个元素,或者将多个元素合并为一个数组[^3]。 ```javascript const numbers = [1, 2, 3]; const moreNumbers = [...numbers, 4, 5]; // 合并数组 console.log(moreNumbers); // 输出: [1, 2, 3, 4, 5] ``` - **`Array.from()`** `Array.from()` 方法可以从类似数组的对象或可迭代对象创建一个新的数组实例。 ```javascript const arrayLike = { 0: 'a', 1: 'b', length: 2 }; const newArray = Array.from(arrayLike); console.log(newArray); // 输出: ['a', 'b'] ``` - **`push()` 方法** `push()` 方法可以在数组末尾添加一个或多个元素[^4]。 ```javascript let fruits = ["Banana", "Orange", "Apple"]; fruits.push("Mango"); console.log(fruits); // 输出: ["Banana", "Orange", "Apple", "Mango"] ``` - **箭头函数结合数组方法(如 `map()`、`filter()`)** 箭头函数使得数组方法的使用更加简洁[^2]。 ```javascript const numbers = [1, 2, 3, 4]; const doubled = numbers.map(num => num * 2); // 使用箭头函数 console.log(doubled); // 输出: [2, 4, 6, 8] const filtered = numbers.filter(num => num > 2); console.log(filtered); // 输出: [3, 4] ``` #### 2. 字符串操作方法 ES6 引入了新的字符串方法模板字符串功能,极大地增强了字符串处理能力。 - **模板字符串** 模板字符串通过反引号(`` ` ``)定义,并支持多行字符串嵌入表达式[^2]。 ```javascript const name = "Alice"; const greeting = `Hello, ${name}!`; console.log(greeting); // 输出: Hello, Alice! ``` - **`includes()` 方法** `includes()` 方法用于检查字符串中是否包含指定子字符串,返回布尔值[^2]。 ```javascript const str = "Hello World"; console.log(str.includes("World")); // 输出: true console.log(str.includes("world")); // 输出: false(区分大小写) ``` - **`startsWith()` `endsWith()` 方法** 这两个方法分别用于检查字符串是否以指定子字符串开头或结尾。 ```javascript const str = "Hello World"; console.log(str.startsWith("Hello")); // 输出: true console.log(str.endsWith("World")); // 输出: true ``` - **重复字符串 (`repeat()`)** `repeat()` 方法可以重复字符串指定次数。 ```javascript const str = "Hi "; console.log(str.repeat(3)); // 输出: "Hi Hi Hi " ``` #### 3. 综合示例 以下是一个综合使用 ES6 数组字符串方法的示例: ```javascript const names = ["Alice", "Bob", "Charlie"]; const message = `Participants: ${names.join(", ")}`; console.log(message); // 输出: Participants: Alice, Bob, Charlie const hasAlice = message.includes("Alice"); console.log(hasAlice); // 输出: true const updatedNames = names.map(name => name.toUpperCase()); console.log(updatedNames); // 输出: ["ALICE", "BOB", "CHARLIE"] ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值