JavaScriptの列挙不可能なプロパティとは何ですか?どのように作成できますか?
列挙できないプロパティ
オブジェクトには、 Object.keys()を使用して特定のオブジェクトを反復処理したときに表示されないプロパティを含めることができます。 またはfor... in ループ。これらのタイプのプロパティは、列挙不可と呼ばれます。 プロパティ。
列挙できないプロパティの作成
列挙できないプロパティを作成するには、 Object.defineProperty()を使用する必要があります 方法。これは、列挙できないを作成するための特別な方法です。 オブジェクトのプロパティ。
次の例では、名前、年齢、国などの3つのプロパティが通常どおり作成され、「salary」という名前のプロパティが Object.defineProperty()を使用して作成されました。 )enumerableという名前のメソッドとキーに falseが割り当てられました 。オブジェクト「person」がObject.keys()を使用して繰り返されると、名前、年齢、国などのプロパティが表示されましたが、プロパティ「salary」は表示されませんでした。給与資産が表示されなかったため、列挙不可能資産と呼ばれます。これは、列挙できないプロパティを作成する方法です。
Object.defineProperty() 以下に示すように、読み取り専用プロパティを作成することもできます。personオブジェクトの給与値を変更することはできません。給与プロパティを列挙可能にするには、キーにtrueを割り当てます。 列挙可能という名前 。
例
<html> <body> <script> var person = { name: 'gopal' }; person.age = '21'; person['country'] = 'India'; Object.defineProperty(person, 'salary',{ value : '80,000$', enumerable: false }) document.write(Object.keys(person)); </script> </body> </html>>
出力name,age,country
-
プロパティがJavaScriptを使用してオブジェクトにあるかどうかを確認できますか?
以下は、プロパティがJavaScriptのオブジェクトにあるかどうかを確認するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <s
-
JavaScriptの分解を使用して、オブジェクトに新しいプロパティを割り当てることはできますか?
以下は、JavaScriptの分解を使用してオブジェクトに新しいプロパティを割り当てるコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <