Не могу понять роль нуля в данном контексте. JS

270
27 сентября 2017, 12:47

Прежде чем перейти сюда чтобы задать вопрос, я честно на протяжении часа гуглил, но не смог найти ответов, хоть и в некоторых ссылках встречалось похожее. Вопрос следующий - что в JS значит ноль в следующей конструкции:

var n = (0, window.unescape)("somestring");

Буду благодарен за ответ или ссылку где прочитать можно.

Answer 1

в данном случае он ничего не значит и вместо него могло быть что угодно. Нужен он тут для срабатывания оператора запятая.

При таком применении оператора запятой можно получить ссылку на метод оторванный от текущего контекста и при вызове его будет использован глобальный контекст. В данном случае window.

То есть, запись в вопросе эквивалентна следующей

var unescape = window.unescape;
var n = unescape("something");

Учитывая, что в данном случае всегда функция будет вызываться в глобальном контексте нет смысла это делать и можно обойтись обычным вызовом

var n = window.unescape("somestring");

Пример когда это имеет смысл

var a = { 
  func: function() { 
    console.log('eval context is window: ', (0, eval)("this") === window); 
    console.log('eval context is current object: ', eval("this") === a); 
  }, 
  func1: function() { 
    console.log('context: ', this.toString()); 
  } 
} 
 
a.func(); 
(1, a.func1)(); 
(a.func1)();

READ ALSO
чем отличается Request Payload от FormData в js

чем отличается Request Payload от FormData в js

не кидайтесь, пожалуйста, тапками) я новичок в программировании хочу узнать чем отличается код ajax запроса на сайт FormData от Request Payload больше...

284
Описание элементов в цикле CSS,JS

Описание элементов в цикле CSS,JS

Добрый вечерЕсть задача создать библиотеку с музыкой

303
Задача с использованием событий

Задача с использованием событий

У меня есть боковая меню с установленным стилем margin-left: -240px;Как при клике сделать чтобы она выдвигалась и при втором клике задвигалась???

223
Движение контура по кривой

Движение контура по кривой

Задача состоит в том, чтобы часть выделенная красным цветом двигалась по по основной траектории http://joxiru/gmvOPW3fxwb4j2

250