Деструктуризация строки JS: остаточный параметр возвращает противоречивые данные

Рассмотрим следующие примеры

Старый проект:

const [x, ...y] = "text";
console.info(x) // "t"
console.info(y) // "ext"

Новый проект на базе CRA:

const [x, ...y] = "text";
console.info(x) // "t"
console.info(y) // ["e", "x", "t"]

Я не уверен, почему y возвращает строку ("ext") для старого проекта, где это массив символов (["e", "x", "t"]) для нового проекта. Это как-то связано с разными версиями JS?

Примечание. Оба результата были извлечены после запуска сервера разработки webpack.

Второй вывод - это тот, который требуется спецификации... (остальные параметры всегда должны создавать массив, независимо от того, что было деструктурировано)

FZs 19.12.2020 12:44
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
1
106
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

на веб-сайте babel вы можете видеть, что ваш код основан на es2015-свободном преобразовании в этот код, поэтому вывод этого кода такой же, как и в вашем старом проекте.

"use strict";

var _text = "text",
    x = _text[0],
    y = _text.slice(1);

console.info(x); // "t"

console.info(y); // "ext"

Другие вопросы по теме