Skip to content

ECMAScript 基础语法

本页关键词:数据类型、类型转换、模板字符串、全等比较、自增运算符、数组操作、函数、逻辑短路


一、基本概述与 I/O

ECMAScript(ES)是 JavaScript 的官方语言标准,由 ECMA International 制定。从 ES5、ES6 到每年更新的 ES2024,定义了语法、核心 API 与语言特性。浏览器和 Node.js 中的 JavaScript 均为其实现。

基础输出document.writealertconsole.log

输入prompt 读取的默认是 string 类型;变量前加 + 可转为 number。


二、数据类型与类型转换

类型检测与转换方法

操作方法
类型检测typeof x
转数字Number()parseInt()parseFloat()
转字符串String()toString()

JS 类型转换写法类似 C++ 中的 (目标类型),但去掉括号。


三、模板字符串与比较运算符

模板字符串

模板字符串 ` 支持代码内直接换行;单引号 ''\n 才能换行。使用 ${变量} 插值。

比较运算符

  • ==:会隐式类型转换;===:要求类型和值都相等
  • !== 表示严格不等于
  • 建议:判断语句(if / switch / 循环)中统一使用 ===,避免使用 ==

面试要点== 的隐式转换易出错,实际开发优先使用严格相等。


四、调试与自增运算符

断点调试

开发者工具 → Source → 选择文件进行断点调试。

前增 / 后增差异

场景前增 ++a / 后增 a++ 差异
立即赋值 let x = a++有差异
立即打印或参与运算 console.log(a++)有差异
作为数组索引 arr[i++]有差异
return 语句中有差异
在条件判断里 while(i++ < 5)有差异
场景效果相同
for 循环增量 i++相同
单独一行 i++;相同
不关心返回值的函数参数 func(i++)相同

五、数组操作

数组增删改查常用方法:

方法作用
push末尾添加
unshift开头添加
pop末尾删除
shift开头删除
splice指定位置增删改

六、函数

函数规范

  1. 命名:动词 + 小驼峰
  2. 参数可设默认值,否则可能得到 NaN
  3. 返回多个值可使用数组 return [a, b]
  4. 变量冲突:就近原则

匿名函数与立即执行函数

立即执行函数(IIFE)无需调用即可执行,常用于防止变量污染。本质仍是函数调用,仅封装为表达式形式。


七、逻辑运算符与类型转换

逻辑中断(短路)

javascript
function getSum(x, y) {
  x = x || 0;
  y = y || 0;
  console.log(x + y);
}
getSum(1, 2);
  • &&:左边为 false 时短路,不执行右侧
  • ||:左边为 true 时短路,不执行右侧
javascript
console.log(11 && 22);  // 22
(11 || 22);             // 11
(false || a++);         // 不执行 a++
(true || a++);          // 不执行 a++

显式转 Boolean

以下为 false:''0undefinednullfalseNaN;其余为 true。

隐式类型转换

场景结果
有字符串的加法'' + 1"1"
减法"" 转为 0
数字变换null → 0,undefinedNaN

面试要点:逻辑短路常用于参数默认值与条件判断;nullundefined 转数字结果不同。