JS-ES6学习

JavaScript由ECMAScript和DOM、BOM三者组成。

  1. ECMAScript:是一个国际通过的标准化脚本语言。
  2. DOM:文档对象模型(HTML、XHTML 以及 XML 文档)
  3. BOM:浏览器对象模型(window,Location、Screen、Navigator、History)

2015 年 6 月,ECMAScript 6 正式通过,成为国际标准。

  • ES5 中作用域有:全局作用域、函数作用域。没有块作用域的概念。
  • ES6 中新增了块级作用域。块作用域由 { } 包括,if语句和 for语句里面的{ }也属于块作用域。

var、let、const

  1. var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。
  2. let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。
  3. const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。

const 是给常量分配的动作,并不是设定他的值

<script type="text/javascript">
    // 块作用域
    {
        var a = 1;
        let b = 2;
        const c = 3;
        // c = 4; // 报错
        var aa;
        let bb;
        // const cc; // 报错
        console.log(a); // 1
        console.log(b); // 2
        console.log(c); // 3
        console.log(aa); // undefined
        console.log(bb); // undefined
    }
    console.log(a); // 1
    // console.log(b); // 报错
    // console.log(c); // 报错

    // 函数作用域
    (function A() {
        var d = 5;
        let e = 6;
        const f = 7;
        console.log(d); // 5
        console.log(e); // 6  
        console.log(f); // 7 
    })();
    // console.log(d); // 报错
    // console.log(e); // 报错
    // console.log(f); // 报错
</script>

解构数组

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。

function breakast() {
	return ['aaa', 'bbb', 'ccc'];
}
let [one, two, thess] =  breakast();
console.log(one, two, thess);    //输出:aaa bbb ccc

解构对象

function breakast() {
	return {one: '?', drink: '☕️', fruit: '?'};
}
let {one: one, fruit: two, drink: thess,} = breakast();
console.log(one, two, thess);

解构参数

function breakfast(dessert, drink, {location, restaurant} = {}) {
	console.log(dessert, drink, location, restaurant);
}
breakfast('?', '?', {location: '武汉', restaurant: '糖糖'});

模版字符串

let dessert = "?",
	drink = "☕️";
// let brrank = '今天早上的咖啡' + dessert+ '和' + drink;    //上下2句写法效果一样
let brrank = `今天早上的咖啡 ${dessert} 和 ${drink}`;
console.log(brrank);

判断字符串是否包含给定的值

传统上,JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6 又提供了三种新方法。

  1. includes() 返回布尔值,表示是否找到了参数字符串。
  2. startsWith() 返回布尔值,表示参数字符串是否在原字符串的头部。
  3. endsWith() 返回布尔值,表示参数字符串是否在原字符串的尾部。

设置默认参数

function drealfast(desster='?', drink='☕️') {
	return `${desster} ${drink}`;
}
console.log(
	drealfast('?', '?')
);

… 展开操作符(Spread)

let fruits = ['?', '?'],
	foodes = ['?', ...fruits];
console.log(fruits);
console.log(...fruits);
console.log(...foodes);

… 剩余操作符(Rest)

function breakfast(dessert, drink, ...foods) {
	console.log(dessert, drink, foods);
	console.log(dessert, drink, ...foods);
}
breakfast('?', '?', '?', '?');

箭头函数

let breakfast = dessert => dessert;        //  一个参数
var breakfast = function breakfast(dessert) {
	return dessert;
}
let breakfast = (dessert, drink)  => {       // 多个参数
	return dessert + drink;
}
var breakfast = function breakfast(dessert, drink) {
	return dessert + drink;;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值