JavaScript 是一种动态类型、弱类型的脚本语言,其语法灵活且易于上手。以下是 JavaScript 的基础语法与数据类型的核心内容:
变量声明:
var:传统变量声明(存在变量提升和函数作用域)。let(ES6+):块级作用域变量,可重新赋值。const(ES6+):块级作用域常量,声明后不可重新赋值。let age = 25;
const PI = 3.14;
注释:
// 这是注释/* 多行注释 */语句结束符:
; 可选,但建议显式添加以避免意外错误。区分大小写:
myVar 与 myvar 不同。JavaScript 数据类型分为 原始类型(Primitive) 和 引用类型(Reference)。
**number**:整数、浮点数、NaN(非数字)、Infinity。
let num = 42;
let price = 9.99;
let result = 10 / "abc"; // NaN
**string**:文本,用单引号 '' 或双引号 "" 包裹。
let name = "Alice";
let msg = 'Hello, ${name}!'; // 模板字符串需用反引号 ``
**boolean**:true 或 false。
let isStudent = true;
**null**:表示“空值”,需显式赋值。
let empty = null;
**undefined**:变量声明未赋值时的默认值。
let x;
console.log(x); // undefined
**symbol**(ES6+):唯一且不可变的值,用于对象属性键。
const id = Symbol("unique_id");
**bigint**(ES2020+):表示大整数,后缀加 n。
const bigNum = 123456789012345678901234567890n;
**object**:键值对的集合。
let person = { name: "Bob", age: 30 };
**array**:有序数据集合。
let colors = ["red", "green", "blue"];
**function**:可执行代码块。
function greet(name) {
return `Hello, ${name}!`;
}
console.log("5" + 1); // "51"
NaN:console.log("abc" - 1); // NaN
Number(), String(), Boolean() 函数:let str = "123";
let num = Number(str); // 123
let bool = Boolean(0); // false
**typeof**:检测原始类型(注意 null 返回 "object")。
typeof "hello"; // "string"
typeof null; // "object"(历史遗留问题)
**instanceof**:检测引用类型(如数组、对象)。
[] instanceof Array; // true
{} instanceof Object; // true
**Array.isArray()**:专用于检测数组。
Array.isArray([]); // true
动态类型:变量类型可动态改变。
let a = 10; // number
a = "hello"; // string
假值(Falsy):false, 0, "", null, undefined, NaN 在布尔上下文中视为 false。
**== vs ===**:推荐使用严格相等 ===(不进行类型转换)。
掌握这些基础后,可以进一步学习函数、作用域、对象原型等进阶内容。
热门推荐:
0