Javascript-форум (https://javascript.ru/forum/)
-   Учебные материалы (https://javascript.ru/forum/study/)
-   -   Вопросы из quiz "Основы JavaScript" (https://javascript.ru/forum/study/73845-voprosy-iz-quiz-osnovy-javascript.html)

Jurikstar 21.05.2018 12:54

Вопросы из quiz "Основы JavaScript"
 
Здравствуйте, есть вопросы из викторины по JS. И варианты их ответа.
1) Does this code work?
(function (a, b) {return a + b;})(1);
- Yes
- An exception will be fired
- This code contains syntax error

2) Does this code correct? *
var a = []; a['prop'] = 'new value'; a.prop;
- Yes
- Code contains syntax error
- An exception will be fired

Так как я новичок в JS, то я проверил эти коды в консоли, ошибок не выдает, но интересно знать правильный ответ от специалистов.

Nexus 21.05.2018 13:03

Вопрос к знатокам: почему во втором вопросе после манипуляций с массивом он по прежнему является массивом, а не объектом?
Когда в js завезли ассоциативные массивы?

Rise 21.05.2018 13:25

Jurikstar,
Yes в обоих случаях.
Nexus,
массив это объект по природе, как и функция.

Nexus 21.05.2018 13:34

Rise, это понятно.
Разве массив не должен был привестись к объекту, когда в кач-ве ключа используется не число?

Rise 21.05.2018 23:13

Nexus,
неа, ключ-число и индекс это строка на самом деле:
var arrayObject = { 0: 'a', 1: 'b', 2: 'c'};

for (var key in arrayObject) console.log('key:', key, 'type:', typeof key);

var objectArray = ['c', 'd', 'e'];

for (var index in objectArray) console.log('index:', index, 'type:', typeof index);

Nexus 21.05.2018 23:21

Rise, благодарю.


Часовой пояс GMT +3, время: 18:48.