javascript - + 运算符在 Javascript 中的工作原理(运算符重载)
问题描述
我想知道+运算符在幕后发生了什么。
console.log(1 + 2);
console.log(1 + "s");
在上面的两个示例中,加法和连接都使用单个 (+) 运算符进行。
正如我所发现的,JavaScript 不支持运算符重载。那么 JavaScript 是如何处理它的呢?
解决方案
// Number + Number -> addition
1 + 2 // 3
// Boolean + Number -> addition
true + 1 // 2
// Boolean + Boolean -> addition
false + false // 0
// Number + String -> concatenation
5 + 'foo' // "5foo"
// String + Boolean -> concatenation
'foo' + false // "foofalse"
// String + String -> concatenation
'foo' + 'bar' // "foobar"
来自MDN的所有示例
推荐阅读
- wordpress - Gridsome + WordPress:发布内容搜索
- php - 注意未定义的变量:“字符串”(PHP)
- javascript - 在 Razor 页面中发布 JQuery/Ajax 并重定向到从 MVC 操作返回的视图(又名表单提交)
- matlab - Matlab中不定义符号变量的匿名函数的导数
- java - 根据字符串键中的标记对 JAVA Map 键进行分组
- python - Keras RNN 如何预测超过数据集
- javascript - 将完整日历中的选择事件显示到弹出窗口中
- excel - 如何在没有性能问题的情况下从 VBA 字典更新工作表?
- android - 为两种不同的用户类型启动两种不同的活动
- javascript - 推入 AJAX 成功不更新 ng-repeat