ES6笔记1

ECMAScript 的背景
JavaScript 是大家所了解的语言名称,但是这个语言名称是商标( Oracle 公司注册的商标)。因此,JavaScript 的正式名称是 ECMAScript 。1996年11月,JavaScript 的创造者网景公司将 JS 提交给国际化标准组织 ECMA(European computer manufactures association,欧洲计算机制造联合会),希望这种语言能够成为国际标准,随后 ECMA 发布了规定浏览器脚本语言的标准,即 ECMAScript。这也有利于这门语言的开放和中立。
ES6数据类型
值类型
数字 number
字符串 string
布尔 boolean
未定义 undefined
引用类型
数组 Array
对象 Object
空 null
判断(typeOf) 引用类型返回 object
let和const变量
let和var的区别

	var a = [];
	for (var i = 0; i < 10; i++) {
	  a[i] = function () {
	    console.log(i);
	  };
	}
	a[1](); // 10

上面代码中,变量i是var声明的,在全局范围内都有效,所以全局只有一个变量i。每一次循环,变量i的值都会发生改变,而循环内被赋给数组a的function在运行时,会通过闭包读到这同一个变量i,导致最后输出的是最后一轮的i的值,也就是10。

而如果使用let,声明的变量仅在块级作用域内有效,变量i是let声明的,当前的i只在本轮循环有效,所以每一次循环的i其实都是一个新的变量,所以最后输出的是1。

var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[1](); // 1

不能变量提升
var会发生”变量提升“的现象,即变量可以在声明之前使用,值为undefined。而let声明的变量一定要在声明后使用,否则就会报错。

// var的值
console.log(a); // 输出undefined
var a = 1;
// let的值
console.log(a); // 报错
let a = 1;

不能重复声明
let不能重复声明同一个变量。
let是局部变量,只在一对{}内有效

const 命令
基本用法
const声明一个只读的常量。一旦声明,常量的值就不能被改变。建议变量名大写

const A = 10;//10
a = A;//报错
console.log(a);

变量的解构赋值
数组
(1)交换变量的值

let x = 1;
let y = 2;
[x,y] = [y,x];
console.log(y);  //x = 2,y = 1;

(2)默认值

let  a, b, c ;
[a, b, c=5] = [4, 8];
console.log(a, b, c);
// 没有默认参数 c 是undefine

(3)跳过

function f() { 
return [1, 2, 3, 4]
}
   	let a,b;
   	[a,,,b]=f();
   	console.log(a,b);//1,4

(4)剩余值

function f() { return [1, 2, 3, 4] 	}
let a,b;
[a,...b]=f();
console.log(a,b);//[2,3,4]   	

(5)浅拷贝(复制)

var arr = [1,3,5];
	var arr2 = [...arr];
	arr2[1]='x';
	console.log(arr2);//[1,"x",5]

对象
(1)对象没有顺序

var a = {name:"mumu",age:16,weight:100,eye:2};
let{weight,name}=a;
console.log(name,weight);//mumu 100

(2)剩余值

var a = {name:"mumu",age:16,weight:100,eye:2};
let{weight,...rest}=a;
console.log(rest,weight);//{name: "mumu", age: 16, eye: 2} 100

(3)浅拷贝(复制)

	var a = {name:"mumu",age:16,weight:100,eye:2};
	var a2={...a};
	a2.name="yiyi";
	console.log(a2,a);

(4)默认值

var a = {name:"mumu",age:16,weight:100,eye:2};
	let {name,eye=1}=a;
	console.log(name,eye); 

字符串
遍历 for of

var str="目前在学习ES5知识点"
 for(let s of str){ //for of遍历
 	console.log(s);
 }

检测包含
包含 includes()
开头 startsWith()
结尾 endsWith()
ES5 字符串
重复 repeat()
var str="Love "
console.log(str.repeat(100)); //重复100遍
去空格 trim()

	var str="  hello  祖国    ";
	console.log(str.trim()); //去除左右空格
	console.log(str.trimLeft()); //去除左空格
	console.log(str.trimRight()); //去除右空格
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值