初入ES6随笔

初入ES6随笔


var c = a => console.log(a)

let a1 = 1; //只在块儿状作用域生效的变量声明

const a2 = 1; //常量声明,值不可改变,快儿状作用域

解构赋值语法


let [a3, b3, c3] = [1, 2, 3]; //数组解构赋值

let [a4 = 0, ...b4] = [1, 2, 3, 4] //数组解构赋值 a4 = 1 b4 = [2,3,4] 允许默认值;

let {a5, b5} = {a5: "1", b5: "2"} // 对象解构赋值 a5 = 1; b5=2;

let {a6: b6, c6: d6} = {a6: "2323", c6: "2"} // 对象解构赋值 将a6的值赋给b6 b6 = 2323;

let [a7, b7, c7, d7, e7] = "hello"; //字符串解构赋值 a7="h"; b7="e" ....

字符串扩展


let a8= "hello world!"

for(let a8 of ‘let‘){ /*console.log(a8)*/ } //for...of 循环遍历 "h","e","l" ....

a8.indexOf("hello"); //是否包含该字符 //返回在字符串的位置

a8.startsWith("wo"); //true 返回是否包含该字符

a8.startsWith("wo", 6); //true 当前数字的位置是否包含该字符 返回布尔值

a8.endsWith("d!"); //true 最末是否有该字符

a8.endsWith("e",2); //true 第二个是否是该字符 只针对单个字符

a8.includes("hel"); //true 是否包含该字符 返回布尔值

a8.includes("world",6); //true 当前数字的位置是否包含该字符 返回布尔值

a8.repeat(2); //hello world!hello world! 返回一个新的字符串,将该字符串重复N次

‘x‘.padStart(5, ‘ab‘); // ‘ababx‘ 在数值前补全到指定位数 常用与数字位数的补全 0000012

‘x‘.padEnd(5, ‘ab‘); // ‘xabab‘ 在数值后补全到指定位数 常用与数字位数的补全 0000012

`${a8}我是ME`; //模板字符串,使用“ ` ” 在${} 中加入js代码可直接运行并输出

`${a8}我是ME`.trim(); //使用 .trim() 可以消除反引号中的换行

数值的扩展


Number.parseInt(‘12.34‘) //12 取整

Number.parseFloat(‘12.34sdf‘) //12.34 只保留数字部分

Math.trunc(4.1) //4 去掉小数部分。只保留整数

Math.sign(-5) //-1 判断是否正数还是负数 负数返回-1 正数返回 +1

Math.cbrt(2) //1.2599210498948734 计算数字的立方根

函数的扩展


function a9(b=0, c=1){}; //函数的参数中允许使用默认参数 替代了之前的 b = b || 0;

function a10({x,y=5}){ console.log(x,y)} // a10({x:1,y:2}) 可以使用解构方式赋值 直接调用 并可以设置默认值

function a11({x,y=5} = {} ){ console.log(x,y)} //a11({y:2}) X 对象为undefined // 为了避免没有默认值的参数报错,所以给对象复制一个空对象

function a12(a,...b){ console.log(a+b[0]+b[1]) }(1,2,3); //6 rest参数 形式为...变量名 获取函数的多余参数 rest是一个数组。和调用数组的方式一样

a12.name //字符串返回函数的名字

var a13 = a=>a; //相当于 var a13 = function(a){return a} 箭头函数 声明 变量名 = 参数 => 返回值 如果函数体大于一条语句需要改为 =>{return a}

//如果需要添加多个参数则需要加上() var a13 = (a,b) => a+b

let a14 = ({ first, last }) => first + ‘ ‘ + last; //箭头函数与变量解构结合使用

class的基本使用


class a15{ //创建class 类

constructor(x, y){ //类的默认属性

this.x = x;

this.y = y;

this.h = "hello"

}

toString(){ //类中的方法。不需要写function

console.log(`${this.h}--${this.x+this.y}`)

}

b(){ //类中的方法。不需要写function

console.log(`world--${this.x+this.y}`)

}

static classMethod(){ //静态方法,只能在本类调用。赋给其他表达式将找不到本方法

}

}

//new a15(1,2).toString();

class a16 extends a15{ //a16 类 将继承a15类的所有方法

constructor(x,y){//定义类的默认属性

super(x,y);//**调用父级的所有属性和芳芳,此方法必须存在

this.c();//调用当前类的C方法。

}

c(){

super.h="world2";//调用父级类的h属性。调用父级方法时可以依然使用this调用,也可以使用super调用

this.toString();//调用父级类的toString()方法,方法中打印出来的h属性被改变了

}

}

//var a18 = new a16(1,2)

class a17 extends a16{ //a17 类 将继承a16类和15类的所有方法的所有方法

constructor(x,y){//设置类的默认方法

super(x,y);//调用父级类(a16)。父级类中默认改变了a15类中的h属性。所以在这里也改变了

super.toString();//此方法调用的是父级类的父级类的方法。此方法中的变量被a16类改变后。在a17中调用a15类依然被改变了。

}

}

//new a17(13,22)

原文地址:https://www.cnblogs.com/sundayBoy/p/9028848.html

时间: 2024-10-03 17:01:39

初入ES6随笔的相关文章

初入社会八个月总结

今年4月份参加工作,至今已经八个月了,以前没接触过的EF.MVC等,经过项目的磨练,已经差不多了.感觉在这八个月中,自己的姿势增长很快,这是初入社会比较欣慰的一点. 总的来说,这八个月让我对身边的人,有了些新的认识:本人在青岛上学,毕业之后跟着大学的兄弟几个一起留在了青岛,我来到了市南,他们去了青岛的各个角落.我们虽然不经常联系,但是感觉兄弟们就在我身边,让我心安.“你们同在一个城市,就算是不联系,心里也是会很充实.而我,回到家,才发现,心里真的是空落落的”一个兄弟这么说,我说:“你该找个女朋友

ES6随笔--各数据类型的扩展(3)--函数

ES6随笔--各数据类型的扩展(3)--函数 1. 函数参数的默认值 可以在函数参数中指定默认值,函数内不能再用let或const声明: 使用参数默认值时,不能出现同名参数: 参数默认值惰性求值,每次调用函数会重新计算参数默认值表达式: let x = 99; function foo(p = x + 1) { console.log(p); } foo() // 100 x = 100; foo() // 101 可以与解构赋值默认值结合使用: function ({x, y = 5} = {

初入码田--ASP.NET MVC4 Web应用之创建一个空白的MVC应用程序

初入码田--ASP.NET MVC4 Web应用开发之一  实现简单的登录 初入码田--ASP.NET MVC4 Web应用开发之二 实现简单的增删改查 2016-07-29 再次之前,需要一台电脑(- ̄▽ ̄)-,以及Visual Studio 2013或者更高版本,SQL Sever数据库(暂时不用) 新建项目 下面会出现选择模板选项(我们选择的是MVC模板) 其中,在创建MVC模板时会有身份验证选项.可选择添加的文件夹和核心引用(Web Form和Web API)以及单元测试选项 身份验证分

0x00linux32位汇编初入--前期准备

0x00汇编初入--前期准备 一.汇编工具 在linux平台下常用的编译器为as,连接器为ld,使用的文本编辑器为vim,汇编语法为att 以下是一些工具: addr2line 把地址转换为文件名和行号 ar 创建,修改和展开文件存档 as 汇编器 c++filt 还原c++符号过滤器 gprof 显示程序简档信息 ld 把目标代码文件链接 nlmconv 把目标代码转换为Netware loadable Module格式 nm 列出目标文件中的符号 objcopy 复制和翻译目标文件 objd

初入树莓派1----安装系统+进入SSH

为了更好的从事程序员事业.填坑linux.为学弟打下第一手资料.留下linux培训教材-- -------实际就是为了搭个路由器///玩玩.... 入了树莓派3b +电源+外壳+sd卡---300大洋--------肉疼 树莓派3b的耗电量还是挺大的推荐买个2A以上的电源. ////////////////////////////////////分割线/////////////////////////////////////////// 树莓派系统安装+进入命令行 树莓派支持 数十款操作系统 一

初入'C',以做一个例题有感。

题目:写一个函数返回参数二进制中 1 的个数 方法1: 我自己写的,运用'%'和'/',感觉挺简单的. int count_one_bit(int num) { unsigned int count=0; while(num) { if(num%2==1) count++; num=num/2; } return count; } int main() { int n = 0; int count = 0; scanf("%d", &n); count = count_one_

初入前端,面对一个项目应注意哪些?

前言: 对于初入职场的前端小白来说,一整个项目来了,顿时感觉压力山大,张皇失措,也总会感到手忙脚乱.其实不用怕,拆分步骤,把每个步骤做好,做细,一切都迎刃而解,犹如顺藤摸瓜般畅快淋漓. 目录: 概念的介绍(可略) 项目分哪几个阶段(每个阶段注意什么) 如何排期 解决问题的方法 概念的介绍: PM(产品经理)负责需求的提出和项目的引导.PM根据产品特点和发展目标提出一定的需求,并协调各方资源投入开发.若需求层面有不清晰的地方,应当向PM沟通确认,如:需要做什么.希望达到什么效果.哪些内容应重点保证

致初入职场的兄弟姐妹

致初入职场的兄弟姐妹   我很喜欢电影<燃情岁月>中的那句台词--"有些人能够听见自己内心的声音,非常的清楚,他们依循着自己的内心来行事.这些人变得疯狂,或者成为传奇--"(Some people hear their own inner voices with great clearness and they live by what they hear. Such people become crazy, or they become legends. )     这是

初入京都的回想

北京,一个都市繁华的高新产业聚集地,我也就这样的来了.为了我的前端梦想. -----小飒的成长史 2012年 自从2012年进入软件工作室的那一刻起,我的生活就发生了与好友截然不同的状态.想想也觉得很神奇,大一一结束就进入一个软件工作室,这个工作室很励志,自然它叫励志工作室.进入工作室的第一项内容就是接触培训,菜鸟就是菜鸟,培训的学长学姐们说什么都是那张目瞪口呆的听着,似懂非懂,却也听的如此着迷.当时的崇拜感,现在想想也是异常激动. 头两个星期除了看基础视频,就是大家不停的通过八哥打字员这个软件