JavaScript 作为一门广泛应用于前端和后端(借助 Node.js)开发的编程语言,其基础语法是构建复杂应用的基石。本文将带大家复习 JavaScript 中的变量、数据类型等基础语法知识,同时会结合 Node.js 环境给出演示代码。
在 JavaScript 中,变量是用于存储数据的容器。在 ES6 之前,我们使用 var
关键字来声明变量,而 ES6 引入了 let
和 const
关键字,它们在块级作用域方面有着更好的表现。
var
声明的变量没有块级作用域,只有函数作用域和全局作用域。
// 使用 var 声明变量
function testVar() {
if (true) {
var x = 10;
}
console.log(x); // 输出 10,因为 var 没有块级作用域
}
testVar();
let
声明的变量具有块级作用域,只能在声明它的块内访问。
// 使用 let 声明变量
function testLet() {
if (true) {
let y = 20;
console.log(y); // 输出 20
}
// console.log(y); // 报错,y 在此处不可访问,因为 let 有块级作用域
}
testLet();
const
用于声明常量,一旦声明必须赋值,且不能再重新赋值。同样具有块级作用域。
// 使用 const 声明常量
const PI = 3.14;
// PI = 3.1415; // 报错,不能重新赋值
if (true) {
const MAX = 100;
console.log(MAX); // 输出 100
}
// console.log(MAX); // 报错,MAX 在此处不可访问,因为 const 有块级作用域
JavaScript 中的数据类型分为基本数据类型和引用数据类型。
基本数据类型包括 Number
、String
、Boolean
、Null
、Undefined
和 Symbol
(ES6 新增)。
数据类型 | 描述 | 示例 |
---|---|---|
Number | 表示数字,包括整数和浮点数 | let num = 10; let floatNum = 3.14; |
String | 表示文本,用单引号或双引号包裹 | let str = 'Hello, World!'; |
Boolean | 表示布尔值,只有 true 和 false 两个值 |
let isTrue = true; |
Null | 表示一个空对象指针,只有一个值 null |
let emptyObj = null; |
Undefined | 表示变量已声明但未赋值,或者函数没有返回值 | let undefinedVar; console.log(undefinedVar); // 输出 undefined |
Symbol | 表示独一无二的值 | let sym = Symbol('description'); |
// 基本数据类型示例
let num = 42;
let str = "Hello";
let bool = false;
let empty = null;
let undef;
let sym = Symbol('unique');
console.log(typeof num); // 输出 'number'
console.log(typeof str); // 输出 'string'
console.log(typeof bool); // 输出 'boolean'
console.log(typeof empty); // 输出 'object'(历史遗留问题)
console.log(typeof undef); // 输出 'undefined'
console.log(typeof sym); // 输出 'symbol'
引用数据类型主要是 Object
,包括普通对象、数组、函数等。引用数据类型存储的是对象的引用,而不是对象本身。
// 普通对象
let person = {
name: 'John',
age: 30
};
// 数组
let numbers = [1, 2, 3, 4, 5];
// 函数
function add(a, b) {
return a + b;
}
console.log(typeof person); // 输出 'object'
console.log(typeof numbers); // 输出 'object'
console.log(typeof add); // 输出 'function'
在 JavaScript 中,类型转换分为隐式类型转换和显式类型转换。
隐式类型转换是在某些操作中自动发生的类型转换。
// 隐式类型转换示例
let num1 = 10;
let str1 = "20";
let result = num1 + str1;
console.log(result); // 输出 '1020',因为 + 运算符在有字符串参与时会进行字符串拼接
显式类型转换是通过特定的函数来实现的。
// 显式类型转换示例
let numStr = "15";
let num2 = parseInt(numStr); // 将字符串转换为整数
console.log(num2); // 输出 15
let boolStr = "true";
let bool2 = Boolean(boolStr); // 将字符串转换为布尔值
console.log(bool2); // 输出 true
通过本文的复习,我们了解了 JavaScript 中变量的声明方式(var
、let
和 const
),掌握了基本数据类型和引用数据类型的特点,以及类型转换的方法。这些基础知识是进一步学习 JavaScript 的关键,希望大家能够熟练掌握。在 Node.js 环境中,我们可以通过 node 文件名.js
来运行上述代码进行验证。
希望这篇文章能帮助你巩固 JavaScript 的基础语法知识,在后续的开发中更加得心应手!