当前位置: 首页 > 开发者资讯

JavaScript有什么操作符?javascript的基本数据类型

  JavaScript是一种动态类型语言,这意味着变量的类型是在运行时确定的。JavaScript有几种基本数据类型,它们是构成更复杂数据结构的基础。 JavaScript操作符分为算术、赋值、比较、逻辑四大类。本文详细为大家介绍关于JavaScript操作符分类与功能。

  一、JavaScript操作符分类与功能

  JavaScript提供7类核心操作符,支持算术、赋值、比较、逻辑等运算:

  算术操作符

  +(加法/字符串拼接)、-(减法)、*(乘法)、/(除法)、%(取余)、**(指数)、++(递增)、--(递减)。

  示例:

  javascriptconsole.log(5 + 3); // 8console.log("Hello" + " " + "World"); // "Hello World"

  赋值操作符

  =(直接赋值)、+=(加后赋值)、-=(减后赋值)等复合操作符。

  示例:

  javascriptlet x = 10;x += 5; // x = 15

  比较操作符

  ==(松散相等)、===(严格相等)、!=(松散不等)、!==(严格不等)、>(大于)、<(小于)等。

  示例:

  javascriptconsole.log(5 == "5"); // true(类型转换后比较)console.log(5 === "5"); // false(类型和值均需相同)

  逻辑操作符

  &&(逻辑与)、||(逻辑或)、!(逻辑非)。

  示例:

  javascriptconsole.log(true && false); // falseconsole.log(true || false); // true

  位操作符

  &(按位与)、|(按位或)、^(按位异或)、~(按位非)、<<(左移)、>>(右移)、>>>(无符号右移)。

  示例:

  javascriptconsole.log(5 & 3); // 1(二进制 0101 & 0011 = 0001)

  字符串操作符

  + 用于字符串拼接,+= 用于追加字符串。

  示例:

  javascriptlet str = "Hello";str += " World"; // str = "Hello World"

  其他操作符

  三元运算符 ?:(条件判断)、typeof(类型检测)、instanceof(实例检测)。

  示例:

  javascriptconsole.log(typeof 42); // "number"console.log(5 > 3 ? "Yes" : "No"); // "Yes"

JavaScript有什么操作符.png

  二、JavaScript基本数据类型

  JavaScript数据类型分为原始类型(7种)和引用类型(1种):

  原始类型(Primitive Types)

  Number:整数、浮点数及特殊值(Infinity、-Infinity、NaN)。

  示例:

  javascriptlet num = 10.5;console.log(1 / 0); // Infinity

  String:文本数据,用单引号、双引号或反引号包裹,支持模板字符串。

  示例:

  javascriptlet str1 = "Hello";let str2 = `World: ${str1}`; // "World: Hello"

  Boolean:true 或 false,用于条件判断。

  示例:

  javascriptlet isActive = true;

  Undefined:变量已声明但未赋值时的默认值。

  示例:

  javascriptlet x;console.log(x); // undefined

  Null:表示“空值”或“无”,需显式赋值。

  示例:

  javascriptlet empty = null;

  Symbol(ES6新增):唯一且不可变的标识符,用于对象属性键。

  示例:

  javascriptlet id = Symbol("unique");

  BigInt(ES2020新增):表示任意精度的整数,后缀加 n。

  示例:

  javascriptlet bigNum = 123456789012345678901234567890n;

  引用类型(Reference Type)

  Object:键值对的集合,包括普通对象、数组、函数等。

  示例:

  javascriptlet person = { name: "Alice", age: 30 };let arr = [1, "two", true];

  关键注意事项

  动态类型:JavaScript变量类型可动态改变,如 let a = 10; a = "text";。

  类型检测:

  typeof 返回类型字符串(如 typeof "text" 返回 "string"),但 typeof null 返回 "object"。

  instanceof 检测对象是否为某构造函数的实例。

  隐式转换:

  + 两侧有字符串时,另一侧会转为字符串,如 5 + "10" 返回 "510"。

  其他算术运算符会将数据转为数字,如 "10" - 2 返回 8。

  严格相等:

  === 避免类型转换,推荐使用,如 5 === "5" 返回 false。

  Null vs Undefined:

  null 表示空值,需显式赋值;undefined 表示未初始化。

  == 比较时 null == undefined 返回 true,但 === 返回 false。

  位操作符处理二进制数据,如 &(按位与)、|(按位或)、<<(左移)等,常用于底层优化。展开/剩余操作符(...)用于数组或对象解构,如 const [first, ...rest] = [1, 2, 3]。这些操作符灵活组合可实现复杂逻辑。


猜你喜欢