JavaScript는 많은 프로그래머가 웹 애플리케이션 및 웹 사이트를 개발하는 데 사용하는 고급 프로그래밍 언어입니다. 강력하고 유연하며 배우기 쉽지만 몇 가지 제한 사항이 있는데, 그 중 하나는 존재하지 않는 값을 표현할 수 없다는 것입니다.
JavaScript에는 부재를 나타내는 두 가지 값, null
과 undefine
이 있습니다. 비슷해 보이지만 실제로는 약간의 차이점이 있습니다. null
和 undefined
。它们看起来很相似,但实际上有一些差别。
null
值表示变量或表达式没有值或没有对象。它是一个特殊的值,意味着该变量没有指向任何值或对象。例如,如果你要声明一个变量来存储一个人的名字,但你不知道他们的名字,你可以将变量设置为 null
。
undefined
值表示变量已经声明了但尚未赋值,也可以在对象上使用没有定义的属性和方法时返回。前者是因为 JavaScript 变量默认情况下是 undefined
,后者则是因为 JavaScript 允许定制对象,允许你添加任何属性和方法。
然而,这两种表示不存在的值都有一些缺点。首先,它们是 JS 中的全局范围内的变量,这意味着你可以通过使用 null
或 undefined
对恰当的变量进行重新赋值,可能会导致潜在的错误和不一致。
其次,它们不能表示不存在的值,只能表示变量没有指向任何值或对象。这是一个重要的区别。例如,如果你有个数组,但是它没有任何元素,你不能使用 null
或 undefined
来表示这种情况。你可以使用一个空数组,但这不是很好的解决方案,因为它会造成冗余和不必要的内存占用。
因此,人们经常在代码中使用其他技巧来表示值的缺失。一种叫做“短路求值”的技术,可以使用操作符 &&
和 ||
来检查值是否存在。如果存在,则返回该值,否则返回一个默认值。例如,如果你有一些数据,但是你不确定其中是否有一个名为“年龄”的属性,你可以使用 &&
运算符来检查:
const age = data.age && data.age;
这条语句将检查 data.age
是否存在,如果存在则将它分配给 age
变量,否则将分配 undefined
(但是这里你不能使用 null
,因为这样就可能会将 null
错误地视为存在的值)。
另外一种技巧是使用“默认参数值”,这允许你指定变量的默认值,以便在变量不存在时使用。例如:
function greet(name) { name = name || 'Stranger'; console.log(`Hello, ${name}!`); }
这个函数参数 name
默认设置为 'Stranger'
,如果参数 name
没有被传入,或传入的是 null
或 undefined
,那么 'Stranger'
将会被使用。
总之,尽管 JavaScript 的 null
和 undefined
null
값은 변수나 표현식에 값이 없거나 개체가 없음을 의미합니다. 변수가 어떤 값이나 객체도 가리키지 않는다는 것을 의미하는 특별한 값입니다. 예를 들어, 사람의 이름을 저장하기 위해 변수를 선언했지만 이름을 모르는 경우 변수를 null
로 설정합니다. 🎜🎜 undefine
값은 변수가 선언되었지만 아직 값이 할당되지 않았음을 나타냅니다. 객체에 대해 정의되지 않은 속성과 메서드를 사용할 때 반환될 수도 있습니다. 전자는 기본적으로 JavaScript 변수가 정의되지 않음
이고, 후자는 JavaScript가 사용자 정의 개체를 허용하여 모든 속성과 메서드를 추가할 수 있기 때문입니다. 🎜🎜그러나 존재하지 않는 값을 표현하는 두 가지 방법 모두 몇 가지 단점이 있습니다. 첫째, JS에서는 전역적으로 범위가 지정된 변수입니다. 즉, null
또는 undefine
을 사용하여 적절한 변수를 다시 할당할 수 있으며 잠재적으로 오류와 불일치가 발생할 수 있습니다. 🎜🎜둘째, 존재하지 않는 값을 나타낼 수 없으며, 변수가 어떤 값이나 객체도 가리키지 않는다는 점만 나타낼 수 있습니다. 이것은 중요한 차이점입니다. 예를 들어, 배열이 있지만 요소가 없는 경우 null
또는 undefine
을 사용하여 이 상황을 나타낼 수 없습니다. 빈 배열을 사용할 수 있지만 이는 중복성과 불필요한 메모리 사용량을 생성하므로 좋은 솔루션이 아닙니다. 🎜🎜따라서 사람들은 값이 없음을 나타내기 위해 코드에 다른 트릭을 사용하는 경우가 많습니다. "단락 평가"라는 기술을 사용하면 &&
및 ||
연산자를 사용하여 값이 존재하는지 확인할 수 있습니다. 존재하는 경우 이 값이 반환되고, 그렇지 않으면 기본값이 반환됩니다. 예를 들어, 일부 데이터가 있지만 그 안에 "age"라는 속성이 있는지 확실하지 않은 경우 &&
연산자를 사용하여 확인할 수 있습니다. 🎜rrreee🎜이 문은 다음을 확인합니다. data.age
가 존재하는지 여부, 존재하는 경우 이를 age
변수에 할당하고, 그렇지 않으면 정의되지 않음
을 할당합니다(그러나 null, 이는 <code>null
을 기존 값으로 잘못 처리할 수 있기 때문입니다. 🎜🎜또 다른 비결은 "기본 매개변수 값"을 사용하는 것입니다. 이를 통해 변수가 존재하지 않는 경우 사용할 변수의 기본값을 지정할 수 있습니다. 예: 🎜rrreee🎜이 함수 매개변수 name
은 기본적으로 'Stranger'
로 설정됩니다. 매개변수 name
이 전달되지 않은 경우 null
또는 undefine
으로 전달되면 'Stranger'
가 사용됩니다. 🎜🎜간단히 말하면 JavaScript의 null
및 undefine
은 존재하지 않는 값을 나타낼 수 있지만 이를 사용하면 몇 가지 단점과 제한 사항이 발생합니다. 따라서 이러한 값을 사용할 때는 주의하고, 값이 없음을 표현하려면 다른 방법을 사용해 보세요. 🎜위 내용은 자바스크립트는 존재하지 않는다는 뜻입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!