博客
Demo

对前端来讲,LHS和RHS其实是无处不在的,不过很多人可能对这两个术语都不太了解
在JS中,作用域规定了如何以及在何处查找变量 ,而LHS和RHS就是对变量的查询的方式,当我们在进行赋值操作时,例如

const a = 'string'

这时我们就会进行LHS查询,创建一个变量a,并对a进行赋值
而另外一种状况如下所示

const b = a

此时我们会进行RHS查询(同样因为有赋值操作也会有LHS查询),如果在作用域链中没有找到a这个值,就会报 ReferenceError 错误 即引用错误 这个错误一般会在作用域中没有找到对应变量的引用时抛出 而如果查询到了a变量 我们就会读取a的值 并赋值给b变量 但是如果我们做了一些不合法的操作 比如下面这种状况

const b = a()

由于a是一个字符串,字符串是不能被当作函数调用的 此时抛出一个TypeError 即类型错误 表示我们虽然在作用域中找到了这个变量 但是对变量做了一些不合法的操作 这就是LHS和RHS 以及他们的区别

Skelanimals Blog © 2026 Made By Skelanimals
冀公网安备 13098102000240号  冀ICP备17020251号-1