![学习JavaScript数据结构与算法(第3版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/966/26211966/b_26211966.jpg)
上QQ阅读APP看书,第一时间看更新
1.3.2 运算符
在编程语言里执行任何运算都需要运算符。在JavaScript里有算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、一元运算符和其他运算符。我们来看一下这些运算符。
var num = 0; // {1} num = num + 2; num = num * 3; num = num / 2; num++; num--; num += 1; // {2} num -= 2; num *= 3; num /= 2; num %= 3; console.log('num == 1 : ' + (num == 1)); // {3} console.log('num === 1 : ' + (num === 1)); console.log('num ! = 1 : ' + (num ! = 1)); console.log('num > 1 : ' + (num > 1)); console.log('num < 1 : ' + (num < 1)); console.log('num >= 1 : ' + (num >= 1)); console.log('num <= 1 : ' + (num <= 1)); console.log('true && false : ' + (true && false)); // {4} console.log('true || false : ' + (true || false)); console.log('! true : ' + (! true));
在行{1},我们用了算术运算符。下表列出了这些运算符及其描述。
![](https://epubservercos.yuewen.com/0A4921/14642182305216206/epubprivate/OEBPS/Images/Figure-0026-0015.jpg?sign=1738841872-NaBwZFtlvaf0Hhq1L1XcSkjhFrHj6XWt-0-2d5888c92d59592579d91eae5b641980)
在行{2},我们使用了赋值运算符。下表列出了赋值运算符及其描述。
![](https://epubservercos.yuewen.com/0A4921/14642182305216206/epubprivate/OEBPS/Images/Figure-0026-0016.jpg?sign=1738841872-3mZ2KDph72m9kEzP9Ct37hxgQLvxo7SY-0-c7bb931f62344c075b35c65272a7cba2)
在行{3},我们使用了比较运算符。下表列出了比较运算符及其描述。
![](https://epubservercos.yuewen.com/0A4921/14642182305216206/epubprivate/OEBPS/Images/Figure-0027-0017.jpg?sign=1738841872-304muvFTi00Xhu2RtbFMJKVQZkyJoZx8-0-f1ba0314b29c3ab5ae42905f3369bc3d)
在行{4},我们使用了逻辑运算符。下表列出了逻辑运算符及其描述。
![](https://epubservercos.yuewen.com/0A4921/14642182305216206/epubprivate/OEBPS/Images/Figure-0027-0018.jpg?sign=1738841872-UN7WuHOxVaSpGaZY8rVAQI6znE6x7rvB-0-ad480075f5c20b1cbdc5203fc0893d22)
JavaScript也支持位运算符,如下所示。
console.log('5 & 1:', (5 & 1)); console.log('5 | 1:', (5 | 1)); console.log('~5:', (~5)); console.log('5 ^ 1:', (5 ^ 1)); console.log('5 << 1:', (5 << 1)); console.log('5 >> 1:', (5 >> 1));
下表对位运算符做了更详细的描述。
![](https://epubservercos.yuewen.com/0A4921/14642182305216206/epubprivate/OEBPS/Images/Figure-0027-0019.jpg?sign=1738841872-nhRMEuhWym8fI6Q7Fa2kyYLnREFaD8WL-0-5ab245287b38b9776c5b2c576ff037df)
typeof运算符可以返回变量或表达式的类型。我们看下面的代码。
console.log('typeof num:', typeof num); console.log('typeof Packt:', typeof 'Packt'); console.log('typeof true:', typeof true); console.log('typeof [1,2,3]:', typeof [1,2,3]); console.log('typeof {name:John}:', typeof {name:'John'});
输出如下。
typeof num: number typeof Packt: string typeof true: boolean typeof [1,2,3]: object typeof {name:John}: object
根据标准,在JavaScript中有两种数据类型。
❑ 原始数据类型:null、undefined、字符串、数、布尔值和Symbol。
❑ 派生数据类型/对象:JavaScript对象,包括函数、数组和正则表达式。
JavaScript还支持delete运算符,可以删除对象里的属性。看看下面的代码。
var myObj = {name: 'John', age: 21};
delete myObj.age;
console.log(myObj); // 输出对象{name: "John"}
这些运算符在后面的算法学习中可能会用到。