Свойство JavaScript не поддерживается в IE? - PullRequest
1 голос
/ 17 апреля 2019

У меня есть следующий код, который прекрасно работает в Chrome и т. Д., Но не работает в IE 11:

var fieldName="UserField";
var fieldValue="update value here..."

var obj = {
             id: 123,
             [fieldName]: fieldValue
           };
var message="The field ["+ fieldName +"] will be updated with the value of ["+ obj[fieldName] +"]";  

Вот плункер, показывающий проблему

Поскольку переменная динамическая, я не могу просто жестко ее кодировать.

Есть идеи, как заставить ее работать в IE?

Ответы [ 3 ]

2 голосов
/ 17 апреля 2019

IE не поддерживает вычисленные имена свойств .

Вы можете взять классический метод доступа к свойствам .

var fieldName = "UserField",
    fieldValue = "update value here...",
    obj = { id: 123 };

obj[fieldName] = fieldValue;

var message = "The field [" + fieldName + "] will be updated with the value of [" + obj[fieldName] + "]";

console.log(message);
1 голос
/ 17 апреля 2019

Нет, они не поддерживаются в IE:

enter image description here

0 голосов
/ 17 апреля 2019

Вычисленные имена свойств в объектах не поддерживаются в Internet Explorer (но они поддерживаются более новыми браузерами Edge).

Возможно, вам придется принять это во внимание, если вы работаете с большим количеством пользователей IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...