JS 赋值运算符

🌙
手机阅读
本文目录结构

功能

赋值运算符(assignment operator)基于右值(right operand)的值,给左值(left operand)赋值。

演示

var x = 2;
var y = 3;

console.log(x);
// expected output: 2

console.log(x = y + 1); // 3 + 1
// expected output: 4

console.log(x = x * y); // 4 * 3
// expected output: 12

概述

基本的赋值运算符是等号(=),该运算符把它右边的运算值赋给左边。即,x = y 把 y 的值赋给 x。 其他的赋值运算符通常是标准运算符的简写形式,如下面的定义与示例。

名称 简写形式 含义
赋值 x = y x = y
加赋值 x += y x = x + y
减赋值 x -= y x = x - y
乘赋值 x *= y x = x * y
除赋值 x /= y x = x / y
模赋值 x %= y x = x % y
指数赋值 x **= y x = x ** y
左移赋值 x «= y x = x « y
右移赋值 x »= y x = x » y
无符号右移赋值 x »>= y x = x »> y
按位与赋值 x &= y x = x & y
按位异或赋值 x ^= y x = x ^ y
按位或赋值 x = y

解构

[a, b] = [1, 2]

{a, b} = {a:1, b:2}

解构分配使您可以使用类似于数组或对象文字的语法将数组或对象的属性分配给变量。

示例

带有赋值运算符的左值(Left operand)

在某些不常见的情况下,赋值运算符(如 x += y)并不等同于表达式( x = x + y)。

当一个赋值运算符的左值包含有一个赋值运算符时,左值只会被求值一次。例如:

a[i++] += 5         // i 执行一次求值
a[i++] = a[i++] + 5 // i 执行两次求值

规范

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
Assignment operators
Draft
ECMAScript 2015 (6th Edition, ECMA-262)
Assignment operators
Standard
ECMAScript 5.1 (ECMA-262)
Assignment operators
Standard
ECMAScript 1st Edition (ECMA-262)
Assignment operators
Standard Initial definition.

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了