什么是node.js?
一种服务器端运行js的环境,让我们能够通过js做后台服务器开发.
Node.js的组成
ECMAScript核心(var for if …) + 全局成员(setTimeout, console…) + 核心API模块(node提供的一些方法,对象).
游览器中的JS:ECMAScript核心+DOM+BOM.
终端:
查看node的版本号:node -v
查看npm的版本号:npm -v
Node命令快捷键:↑ , tab cls.
ECMAScript语法:
一. 关键字
- 关键字var缺点:1.存在变量提升(降低js代码的可阅读性)2.没有块级作用域{}(容易造成变量污染).
- let变量:1.不存在变量提升问题,定义之后才可以使用此变量 2.有块级{}作用域。
- const常量:1.不存在变量提升问题,定义之后才能使用此变量 2.const定义的常量,无法被重新赋值 3.当定义常量的时候,必须在定义的时候给一个初始化的值,否则语法错误. 4.const定义的常量也有块级作用域.
二. 变量的解构赋值:就是指某个对象中的属性,当作变量,给解放出来,以后当作变量直接使用.
想把对象中的属性当作变量来使用的时候,才会用到解构赋值.解构赋值的语法:
let{ } = user.
三. 箭头函数:就是一个匿名函数.
(形参...) => {代码块}
特性:箭头函数内部的this,永远和箭头函数外部的this保持一致.
箭头函数的书写:
完整体:
const getNum = (x, y) => {
return x + y
};
console.log(getNum(1, 2)); //3
变形1:左侧只有一个形参,()可以省略.
const getNum = x => {
return x + 2;
}
console.log(getNum(1, 2)); //3
变形2:右侧{}只有一行代码,{}可以省略.
const getNum = (x,y) => x + y
console.log(getNum(1,2)); //3
变形3:左侧只有一个形参,{}内只有一行代码,{}、return可以省略,自带return效果
const getNum = (x) => x + 2;
console.log(getNum(1)); //3