V8 Runtime для скриптов Google Apps - PullRequest
2 голосов
/ 11 февраля 2020

На прошлой неделе Google выпустил новую Runtime . Кто знает, какую версию V8 или ECMAScript используйте?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2020

Согласно переносу скриптов в документы v8 V8 standard_compliant .

Однако при переносе ваших скриптов в V8 может быть некоторые несовместимости , которые вам нужно обратиться или ваши скрипты могут сломаться. В то время как Mozilla's Rhino JS Interpreter предоставлял удобный скрипт для скрипта приложений для выполнения скриптов разработчика, он также привязывал скрипт скриптов к определенной c JavaScript версии (ES5)

V8 реализует ECMAScript 2020 .

Здесь у вас есть несколько примеров синтаксиса V8

Надеюсь, это поможет.

1 голос
/ 26 апреля 2020

Ну, я могу сказать, что у нас есть последняя версия ECMA262:

Здесь, в некотором примере из 10-го издания, представлены несколько новых встроенных функций: flat и flatMap:

function TEST_Flats() {    
    const arr = ['a', 'b', ['c', 'd']];
    const flattened = arr.flat();
    console.log(flattened);  
}

Из других выпусков у нас есть:

function TEST_REST_SPREAD() {
  // ECMAScript® 2018 Language Specification (ECMA-262, 9th edition, June 2018)
  const arr1 = [10, 20, 30];
  const arr2 = [40, 50];

  // make a copy of arr1
  const copy = [...arr1];  
  console.log(copy);    

  // merge arr2 with arr1
  const merge = [...arr1, ...arr2];
  console.log(merge);       
}

А

function TEST_PAD() {
  // ECMAScript® 2017 Language Specification (ECMA-262, 8th edition, June 2017)
  let data = { "King" : "Jon Snow",
             "Queen" : "Daenerys Targaryen",
             "Hand" : "Tyrion Lannister"}

  console.log(Object.entries(data));  
  console.log(Object.values(data));  

  console.log('a'.padStart(5, 'xy'))  
  console.log('a'.padStart(4, 'xy')) 
  console.log('1234'.padStart(2, '#')) 
  console.log('###'.padStart(10, '0123456789')) 
  console.log('a'.padStart(10)) 

  console.log('a'.padEnd(5, 'xy'))  
  console.log('a'.padEnd(4, 'xy')) 
  console.log('1234'.padEnd(2, '#')) 
  console.log('###'.padEnd(10, '0123456789')) 
  console.log('a'.padEnd(10))

}

function TEST_PropertyDescriptors() {
  // ECMAScript® 2017 Language Specification (ECMA-262, 8th edition, June 2017)
  const obj = {
    id: 123,
    get bar() { return 'abc' },
  };
  console.log(Object.getOwnPropertyDescriptors(obj));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...