ES6基础知识总结一

关于定义(声明)变量:
之前: var a=12
现在: let a=12

作用域:
	全局
	函数作用域

let		相当于之前的 var
const	常量, 定义好了不能改变

let注意:
	1. 没有预解析,不存在变量提升
		在代码块内,只要let定义变量,在之前使用,都是报错
		先定义完,在使用
	2.  同一个作用域里, 不能重复定义变量
	3.  for循环,for循环里面是父级作用域,里面又一个

块级作用域:
	{
		let a = 12//块级作用域
	}

	if(){xx}
	for(){}
	while(){}


const: 特性和let一样
	const定义变量不能修改

	const定义完变量,必须有值,不能后赋值,不能修改

	Object.freeze(obj) 阻止修改现有属性的特性和值,并阻止添加新属性,
					可以利用这个方法将对象彻底冻结,使其符合const变量的含义.

	const config={
		host:
		username:
		password:
		version:
	}


IIFE  自执行函数
(function(){
	//TODO
})()

建议:
	以后 就用 let  不要在使用var
	
	const http = require('http'); 
	const定义导入的模块更安全

====================================
解构赋值:
* 非常有用,特别在做数据交互 ajax

let [a,b,c] =[12,5,6];

注意: 左右两边,结构格式要保持一致

json:
	let {name,age, job} = {
	    name:'Strive',
	    age:18,
	    job:'码畜'
	};

	let {name:n,age:g, job:a} = json;

解构时候可以给默认值:
	let [a,b, c="默认值"] = ['aaa','bbb'];

let a = 12;
let b = 5;

import {a,b,c} from './mod'  导入模块解构

======================================
字符串模板:
``字符串模板:
优点: 可以随意换行
${变量名字}

let name ='Strive';
    	let age = 18;
    	let str = `这个人叫${name}, 年龄是 ${age}岁`;

关于字符串一些东西:
	字符串查找:
		str.indexOf(要找的东西)   返回索引(位置) ,没找到返回-1
		str.includes(要找的东西)   返回值  true/false

		判断浏览器:  includes

	http://www.xxx.xx

	字符串是否以谁开头:
		str.startsWith(str)

		检测地址
	字符串是否以谁结尾:
		str.endsWith(str)
		
		比如判断图片格式.png

	重复字符串:
		str.repeat(次数);

填充字符串:
	str.padStart(整个字符串长度, 填充东西)   往前填充
	str.padEnd(整个字符串长度, 填充东西)    往后填充

	str.padStart(str.length+padStr.length, padStr)

============================================
函数变化:

1. 函数默认参数
    function show({x=0,y=0}={}){
    		    console.log(x,y);
    		}
    		show()

 2. 函数参数默认已经定义了,不能再使用let,const声明
    		function show(a=18){
    		    let a = 101;  //错误
    		    console.log(a);
    		}
    		show()

扩展运算符、Rest运算符:

展开数组

... :
	[1,2,3,4]  -> ... [1,2,3,4]  ->  1,2,3,4,5
...:
	1,2,3,4,5  -> ...1,2,3,4,5  ->  [1,2,3,4,5]

剩余参数: 必须放到最后

箭头函数: =>

function show(){return 1;}  ===  let show = () => 1;

() => return xxx;

() =>{
	语句
	return xxx;
}

注意:
	1. this问题, 定义函数所在的对象,不在是运行时所在的对象
	2. 箭头函数里面没有arguments, 用  ‘...’
	3. 箭头函数不能当构造函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值