1. ECMAScript 6常用语法
1.1 let(变量) 与 const(常量)
之前定义变量,用 var 关键字;有如下主要缺点:
存在变量提升问题,降低 js 代码的可阅读性
没有块级作用域,容易造成变量污染
let 主要特性:
不存在变量提升问题,只有定义之后才能使用此变量
有 { } 作用域
const 主要特性:
不存在变量提升问题,只有定义之后才能使用此变量
const 定义的常量,无法被重新赋值
当定义常量的时候,必须定义且初始化,否则报语法错误
const 定义的常量,也有 块级作用域
1.2 变量的解构赋值(常用)
定义:所谓的解构赋值,就是把 某个对象中的属性,当作变量,给解放出来,这样,今后就能够当作变量直接使用了;
可以使用 :为解构出来的变量重命名
const user = {
name: 'lisi',
age: 18,
gender: '男'
};
const { name, age, gender: gender5 } = user;
console.log(gender5);
let a = 10;
let b = 20;
let c = () => console.log(5);
// 变量的解构赋值
const { name : name123, age, gender } = person
console.log(name123)
1.3 箭头函数(常用)
语法:
定义普通的 function 函数
function show() {
console.log('这是普通 function 定义的 show 方法')
}
把方法定义为箭头函数(最完整的写法)
(形参列表) => { 函数体代码 }
箭头函数,本质上就是一个匿名函数;
箭头函数的特性: 箭头函数内部的 this, 永远和 箭头函数外部的 this 保持一致;
变体:
变体1:如果箭头函数,左侧的形参列表中,只有一个参数,则,左侧小括号可以省略;
变体2:如果右侧函数体中,只有一行代码,则,右侧的 { } 可以省略;
变体3:如果箭头函数左侧 只有一个 形参,而且右侧只有一行代码,则 两边的 () 和 {} 都可以省略
注意: 如果我们省略了 右侧函数体的 { },那么,默认会把 右侧函数体中代码的执行结果,当作箭头函数的调用结果 return 出去;
var fn (x)=> x + 10; var fn1(x,y) => x+y;
5.4 对象中 定义方法 和 定义属性 的便捷方式
let name = 'andy';
let age = 18;
var fn = function fn(x) {
console.log(x);
}
var user = {
name,
age,
fn
};
user.fn(1);1
6. 文件操作
6.1 文件读取
fs.readFile('路径',‘utf-8’,(err,data)=>
if(err) return console.log(err.message)
console.log(data);
)
6.2 文件写入
fs.writeFile
6.3 文件追加
fs.appendFile
6.4 fs模块中路径操作问题【难点】
使用 fs 模块操作文件的时候,如果提供的操作路径是 相对路径, 则会根据当前执行node命令时的磁盘目录,去拼接提供的文件的相对路径,从而容易出现问题;例如:
const fs = require('fs')
// 调用 fs.readFile 方法时,提供的第一个参数是相对路径,容易出现问题
fs.readFile('./files/1.txt', 'utf-8', (err, data) => {
if(err) return console.log(err.message)
console.log(data)
})
推荐使用 node 中提供的 __dirname 来解决 fs 模块操作文件时候的路径问题 |
|