ES6 学习笔记一

简介: ES6 学习笔记一

let & var 的作用域


  • let & var


○ let:常量


○ var:变量


  • let & var 的作用域


○ let:块作用域


○ var:全局作用域


○ 用 let 定义的属性只能在 { } 大括号里面能使用。


○ 用 var 定义的属性能在 { } 大括号外面也能使用。


if (true) { var str = 'dzm'; } console.log(str); // 输出 dzm


if (true) { let str = 'dzm'; } console.log(str); // 输出 str is not defined


const


  • const 是衡量 表示只能初始化一个的,类似于java中final。
  • const 强调的是赋值的过程,并不是具体的那个值的大小。


const index = 1; var index = 2; console.log(index)


这样就会报错。


当然const 也可以进行填写值的,用push方法:


const index = [1, 2, 3];
index.push(1);
index.push(2)
console.log(index);

解构赋值


  • 数组的方式


function strs() { return ['d','z', 'm']; }


var strs = strs(), d = strs[0], z = strs[1], m = strs[2]; console.log(d,z,m); // d z m


let [d,z,m] = strs(); console.log(d,z,m); // d z m


  • 字典的方式


function strs() { return {d: 'd', z: 'z', m: 'm'}; }


var strs = strs(), d = strs['d'], z = strs['z'], m = strs['m']; console.log(d,z,m); // d z m


let {d: d, z: z, m: m} = strs(); console.log(d,z,m); // d z m


let {d, z, m} = strs(); console.log(d,z,m); // d z m


... 符号的使用


  • 扩展运算符(spread)是三个点(...)。
  • 支持在函数里面代替更多的值,可以看上面 《函数正常使用》 的例子。


let strs = ['d', 'z', 'm']; strs1 = ['>', ...strs]; console.log(strs); // ["d", "z", "m"] console.log(...strs); // d z m console.log(strs1); // [">", "d", "z", "m"]


`` 符号的使用


  • 字符串


let d = 'd', z = 'z', m = 'm';


let str = d + '+' + z + '+' + m + '=' + d + z + m; console.log(str); // d+z+m=dzm


let str = ${d}+${z}+${m}=${d}+${z}+${m}; console.log(str); // d+z+m=dzm


let str = ${d} + ${z} + ${m} = ${d} + ${z} + ${m}; console.log(str); // d + z + m = d + z + m


  • 函数 `` 的使用


let d = 'd', z = 'z', m = 'm';


// 调用函数,如果 `里面包含换行符,空格...也会被输出 test(${d}+${z}+${m})`;


function test(strs, ...values) { // 会输出非参数的数组,也就是 ${xx} 以外的数据分割,开头结尾如果没有则是空字符串,我这里开头结尾使用了()所以能输出,默认是 "" 空字符串。 console.log(strs); //  ["(", "+", "+", ")", raw: Array(4)] // 会输出参数的数组,也就是使用 ${xx} 包裹的值才会出现在这里。 console.log(values); // ["d", "z", "m"] }


  • 函数正常使用


let d = 'd', z = 'z', m = 'm';


// 调用函数 test('>', d,z,m);


function test(strs, ...values) { console.log(strs); // > console.log(values); // ["d", "z", "m"] }


函数的默认值


function test(d = 'd', z = 'z', m = 'm') {
  return `${d}${z}${m}`;
}
console.log(test()); // dzm
console.log(test('x','y','q')); // xyq

函数的 name 属性


function test() {}
console.log(test.name); // test
let fn = function test() {}
console.log(fn.name); // test
let fn = function () {}
console.log(fn.name); // fn

箭头函数的使用


  • 正常函数


var test = function test(desc) { return desc; } console.log(test('dzm')); // dzm


  • 箭头函数

○ 用法一


let test = desc => desc;
console.log(test('dzm')); // dzm

○ 用法二


let test = (desc, desc1) => desc + desc1;
console.log(test('dzm','xyq')); // dzmxyq

○ 用法三


let test = (desc, desc1) => {
  return desc + desc1
};
console.log(test('dzm','xyq')); // dzmxyq

缩写

let dzm = 'dzm', xyq = 'xyq';
// let dict = {
//   dzm: dzm,
//   xyq: xyq,
//   test: function () {}
// }
let dict = {
  dzm,
  xyq,
  test () {}
}
console.log(dict); // {dzm: "dzm", xyq: "xyq", test: ƒ}

相关文章
|
3月前
|
JavaScript 前端开发
ES6学习(6)
ES6学习(6)
|
3月前
|
网络架构
ES6学习(5)
ES6学习(5)
|
7月前
|
Java
es 学习笔记
es 学习笔记
45 1
|
JavaScript
ES6 学习笔记二
ES6 学习笔记二
46 0
|
机器学习/深度学习 边缘计算 运维
es学习笔记2-es组件
es学习笔记2-es组件
182 0
|
存储 JSON 安全
es学习笔记1-es概念
es学习笔记1-es概念
91 0
|
JavaScript 前端开发 编译器
ES6 从入门到精通 # 01:ES6 介绍
ES6 从入门到精通 # 01:ES6 介绍
136 0
ES6 从入门到精通 # 01:ES6 介绍
|
JSON API 数据格式
ES7学习笔记(三)新建索引
与ES的交互方式 与es的交互方式采用http的请求方式,请求的格式如下: curl -X '://:/?' -d '' 是请求的方法,比如:GET、POST、DELETE、PUT等。
2969 0
ES7学习笔记(三)新建索引
|
前端开发 索引
ES6、ES7、ES8、ES9、ES10、ES11、ES12知识点总结(1)
ES6、ES7、ES8、ES9、ES10、ES11、ES12知识点总结(1)
ES6、ES7、ES8、ES9、ES10、ES11、ES12知识点总结(1)