🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Helen
مشاهده خروجی متفاوت
جامعه جاوا اسکریپت ایجاد شده در ۱۰ آذر ۱۴۰۰
<p>چرا من اینجا وقتی [<span class=\"hljs-title class_\">Symbol</span>.<span class=\"hljs-property\">isConcatSpreadable</span>] رو اضافه کردم:</p><pre class=\"ql-syntax\" spellcheck=\"false\">        <span class=\"hljs-tag\"><<span class=\"hljs-name\">script</span>></span><span class=\"hljs-meta\">             \'use strict\'</span>             <span class=\"hljs-keyword\">let</span> myOb = {                 <span class=\"hljs-number\">0</span>: <span class=\"hljs-string\">\'Java\'</span>,                 <span class=\"hljs-number\">1</span>: <span class=\"hljs-string\">\'Python\'</span>,                 <span class=\"hljs-attr\">name</span>: <span class=\"hljs-string\">\'Helen\'</span>,                 [<span class=\"hljs-title class_\">Symbol</span>.<span class=\"hljs-property\">isConcatSpreadable</span>]: <span class=\"hljs-literal\">true</span> <span class=\"hljs-comment\">//*</span>             };             <span class=\"hljs-keyword\">let</span> message = [<span class=\"hljs-string\">\'myList\'</span>].<span class=\"hljs-title function_\">concat</span>(myOb);             <span class=\"hljs-variable language_\">console</span>.<span class=\"hljs-title function_\">log</span>(message); <span class=\"hljs-comment\">//before adding * output: [\'myList\', object]</span>         <span class=\"hljs-tag\"></<span class=\"hljs-name\">script</span>></span> </pre><p><span style=\"color: rgb(156, 220, 254);\"> در حروجی فقط:</span></p><pre class=\"ql-syntax\" spellcheck=\"false\">[<span class=\"hljs-string\">\'myList\'</span>] </pre><p>رو نمایش داد؟</p>
<p>پس از چند بار تست کردن، فهمیدم که اولا باید به صورت عدد بنویسم، دوما پراپرتی length هم اضافه کنم. یعنی به این شکل:</p><pre class="ql-syntax" spellcheck="false">        <span class="hljs-tag"><<span class="hljs-name">script</span>></span><span class="hljs-meta">             'use strict'</span>             <span class="hljs-keyword">let</span> myOb = {                 <span class="hljs-number">0</span>: <span class="hljs-string">'Java'</span>,                 <span class="hljs-number">1</span>: <span class="hljs-string">'Python'</span>,                 <span class="hljs-number">2</span>: <span class="hljs-string">'Helen'</span>,                 <span class="hljs-attr">length</span>: <span class="hljs-number">3</span>,                 [<span class="hljs-title class_">Symbol</span>.<span class="hljs-property">isConcatSpreadable</span>]: <span class="hljs-literal">true</span> <span class="hljs-comment">//*</span>             };             <span class="hljs-keyword">let</span> message = [<span class="hljs-string">'myList'</span>].<span class="hljs-title function_">concat</span>(myOb);             <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(message); <span class="hljs-comment">//before adding * output: ['myList', object]</span>         <span class="hljs-tag"></<span class="hljs-name">script</span>></span> </pre>
Helen ۱۰ آذر ۱۴۰۰، ۱۴:۵۸

سلام

تایع concat مربوط به آرایه هاست درسته؟ پس ویژگی isConcatSpreadable هم برای آرایه‌ها یا آبجکت‌هایی که لیستی از داده‌ها هستند کار میکنه

بهترین پاسخ
حسین دادخواه ۱۳ آذر ۱۴۰۰، ۰۷:۱۹