ES6之二

一、字符串的拓展

1.字符串的Unicode表示法。("\u0000"~"\uFFFF",如果超出这个范围的字符则用俩个双字节形式来表示。例如" “\u0000\uFFFF”)

//一共有六种方法表示一个字符
'\z' === 'z'	//ture
'\172' === 'z'	//ture
'\x7A' === 'z'	//true
'\u007A' === 'z'	//true
'\u{7A}' === 'z'	//true

2.字符串的遍历器接口(for…of)。

let pp = "myFriends"
for(let i of pp){
	console.log(i)	//输出为"m","y","F","r"。。。
}

3.直接输入 U+2028 和 U+2029
以下字符串不能直接使用,只能使用转义例如反斜杠"\“或”\u005c"
U+005C:反斜杠(reverse solidus)
U+000D:回车(carriage return)
U+2028:行分隔符(line separator)
U+2029:段分隔符(paragraph separator)
U+000A:换行符(line feed)
4.模板字符串。

// 普通字符串
`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}?`

5.JSON.stringify()的改造。
JSON 数据必须是 UTF-8 编码,所以它改进了像"\u{AAAAA}“和”\uAAAA\uBBBB"这些的返回值。返回"’\u{AAAAA}’“和”’\uAAAA\BBBB’。
/
更多ES6字符串知识:http://es6.ruanyifeng.com/#docs/string

二、字符串的新增方法

1.String.fromCodePoint()(Unicode码点返回对应字符串)

String.fromCodePoint('029233')	//"爱"

2.codePointAt()(字符串转字码)
3.includes(), startsWith(), endsWith()(确定字符串中是否包含另一个字符串,类似于indexOf(),三种方式都有另外一个参数表示开始搜索的位置。)

更多方法请参考:http://es6.ruanyifeng.com/#docs/string-methods

三、数值拓展

1.二进制和八进制写法

console.log(0o767 === 503)	//0o开头八进制,true
console.log(0b111110111 ===503)	//0b开头二进制,true
Number("0b111")				//字符串数值转为十进制,返回7

2.Number.isFinite(),Number.isNaN()提供了判断数值是否为有限,是否为 NaN

	Number.isFinite(8)		//ture
	Number.isFinite('15')	//false
	isFinite('15')			//true,全局的isFinite方法与Number.isFinite区别在于全局的会把不是数值的值转为数值。
	Number.isNaN(NaN)		//ture
	Number.isNaN(15)		//false
	Number.isNaN(ture)		//false

··
3.Number.parseInt(),Number.parseFloat()

Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45

4.Number.isInteger()判断数值是否为整数。

Number.isInteger(15)	//true
Number.isInteger(3.0)	//true
Number.isInteger("15")	//false

更多Math拓展:http://es6.ruanyifeng.com/#docs/number

四、函数拓展

1.rest参数
ES6有引入rest参数(…变量名),就可以不适用arguments对象。

//ES6写法
function add(...values) {
  let sum = 0;

  for (var val of values) {
    sum += val;
  }

  return sum;
}

add(2, 5, 3) 
//es5写法
function sortNumbers() {
  return Array.prototype.slice.call(arguments).sort();
}

2.name属性(返回函数名)

function foo() {}
foo.name // "foo"

3.箭头函数

var f = (x,y)=>{
	return x+y
}
//等同于
var f =	function(x,y){
	return x+y
}

(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

更多函数拓展请看:http://es6.ruanyifeng.com/#docs/function

五、数组拓展

1.拓展运算符(三个点(…)将一个数组转为用逗号分隔的参数序列)

console.log(...[1,2,3])	//1 2 3
console.log(1,...[2,3,4],5)	//1,2,3,4,5
const arr = [
	...(x>0?['a']:[]),
	'b',
]							//拓展运算符可以放置表达式
console.log(...[1, 2])		//1,2	拓展运算符
console.log((...[1, 2]))	// Uncaught SyntaxError: Unexpected number
//代替函数的apply方法
//ES5写法
function f(x,y,z){

}
var args = [2,4,6];
f.apply(null,args)
//ES6写法
f(...args);
//求出一个数组的最大值
Math.max.apply(null,[1,34,23])
Math.max(...[1,34,23])		//相当于Math.max(1,34,23)
//通过push添加到另一个数组尾部。
let arr1 = [1,23,34]
let arr2 = [2,3,4]
arr1.push(...arr2)

2.Array.from()(将两类对象转为真正的数组:类似数组的对象和可遍历的对象)

let arrLike = {
	"0":"a",
	"1":"b",
	"2":"c",
	"3":"d"
}
var arr1 = [].slice.call(arrLike)	//["a","b","c"]
//ES6
let arr2 = Array.from(arryLike)		//["a","b","c"]	

3.Array.of()(将一组值转换为数组)

Array.of(3,11,8)			//[3,11,8]

4.数组实例的copyWithin(target, start = 0, end = this.length)(指定的成员复制到其他位置上)
target(必需),从该位置开始替换数据,如果为负数表示倒数。
start(可选),从该位置开始读位置。默认为零
end(可选),默认为目前停止读取数据,默认为length

[1,23,45,55,33].copyWithin(0,2,4)	//[45,55,45,55,33]
[].copyWithin.call({length:1,3:0},2,5)	//[length:1,3:0,2]

5.数组实例的find()和findIndex()

[1,2,-54,10].find((n) => n<0)	//-54,参数为回调函数(参数为当前值,当前下标,原数组)
[1,2,-54,10].findIndex((n) => n<0)	//2,y参数与find()相同,返回下标值,没有时返回-1;

6.数组实例的fill()(填充一个数组(参数和copyWithin一样))

更多数组方法和拓展请参考:http://es6.ruanyifeng.com/#docs/array

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值