[DOCS-981] Document JavaScript interface changes related to v8 switch Created: 12/Jan/13  Updated: 30/Oct/23  Resolved: 20/Feb/13

Status: Closed
Project: Documentation
Component/s: Server
Affects Version/s: None
Fix Version/s: Server_Docs_20231030

Type: Bug Priority: Major - P3
Reporter: Ben Becker Assignee: Kay Kim (Inactive)
Resolution: Done Votes: 0
Labels: srl
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-5379 js increment operators (ob.prop += ob... Closed
is related to DOCS-752 Document switch from spidermonkey to ... Closed
is related to SERVER-2407 Switch to v8 Closed
Participants:
Days since reply: 10 years, 51 weeks, 5 days ago

 Description   

We need to document changes between spidermonkey and v8 which may impact users.



 Comments   
Comment by auto [ 22/Feb/13 ]

Author:

{u'date': u'2013-02-22T18:43:08Z', u'name': u'Sam Kleinman', u'email': u'samk@10gen.com'}

Message: DOCS-981: edits
Branch: master
https://github.com/mongodb/docs/commit/c63011d0cf0193aa0fdf00c7ada5595e316ecdbf

Comment by auto [ 22/Feb/13 ]

Author:

{u'date': u'2013-02-22T18:25:03Z', u'name': u'Sam Kleinman', u'email': u'samk@10gen.com'}

Message: merge: DOCS-981
Branch: master
https://github.com/mongodb/docs/commit/4db57b61d9d83dfb78253a1f462cd94e37ff778a

Comment by auto [ 22/Feb/13 ]

Author:

{u'date': u'2013-02-20T08:20:05Z', u'name': u'kay', u'email': u'kay.kim@10gen.com'}

Message: DOCS-981 v8 change impact

DOCS-981 incorporate aaron's comments

DOCS-981 call out db specifically as no longer available in map-reduce and where

DOCS-981 V8 changes - incorporate sam's comments

DOCS-981 V8 release notes

DOCS-981 V8 release notes
Branch: master
https://github.com/mongodb/docs/commit/823b9e683de8d2569c11ee65f5bd13710c4f5868

Comment by auto [ 22/Feb/13 ]

Author:

{u'date': u'2013-02-20T08:20:05Z', u'name': u'kay', u'email': u'kay.kim@10gen.com'}

Message: DOCS-981 v8 change impact

DOCS-981 incorporate aaron's comments

DOCS-981 call out db specifically as no longer available in map-reduce and where

DOCS-981 V8 changes - incorporate sam's comments

DOCS-981 V8 release notes

DOCS-981 V8 release notes
Branch: master
https://github.com/mongodb/docs/commit/823b9e683de8d2569c11ee65f5bd13710c4f5868

Comment by auto [ 22/Feb/13 ]

Author:

{u'date': u'2013-02-20T08:20:05Z', u'name': u'kay', u'email': u'kay.kim@10gen.com'}

Message: DOCS-981 v8 change impact

DOCS-981 incorporate aaron's comments

DOCS-981 call out db specifically as no longer available in map-reduce and where

DOCS-981 V8 changes - incorporate sam's comments

DOCS-981 V8 release notes

DOCS-981 V8 release notes
Branch: master
https://github.com/mongodb/docs/commit/823b9e683de8d2569c11ee65f5bd13710c4f5868

Comment by auto [ 22/Feb/13 ]

Author:

{u'date': u'2013-02-20T08:20:05Z', u'name': u'kay', u'email': u'kay.kim@10gen.com'}

Message: DOCS-981 v8 change impact

DOCS-981 incorporate aaron's comments

DOCS-981 call out db specifically as no longer available in map-reduce and where

DOCS-981 V8 changes - incorporate sam's comments

DOCS-981 V8 release notes

DOCS-981 V8 release notes
Branch: master
https://github.com/mongodb/docs/commit/823b9e683de8d2569c11ee65f5bd13710c4f5868

Comment by auto [ 22/Feb/13 ]

Author:

{u'date': u'2013-02-20T08:20:05Z', u'name': u'kay', u'email': u'kay.kim@10gen.com'}

Message: DOCS-981 v8 change impact

DOCS-981 incorporate aaron's comments

DOCS-981 call out db specifically as no longer available in map-reduce and where

DOCS-981 V8 changes - incorporate sam's comments

DOCS-981 V8 release notes

DOCS-981 V8 release notes
Branch: master
https://github.com/mongodb/docs/commit/823b9e683de8d2569c11ee65f5bd13710c4f5868

Comment by auto [ 22/Feb/13 ]

Author:

{u'date': u'2013-02-20T08:20:05Z', u'name': u'kay', u'email': u'kay.kim@10gen.com'}

Message: DOCS-981 v8 change impact

DOCS-981 incorporate aaron's comments

DOCS-981 call out db specifically as no longer available in map-reduce and where

DOCS-981 V8 changes - incorporate sam's comments

DOCS-981 V8 release notes

DOCS-981 V8 release notes
Branch: master
https://github.com/mongodb/docs/commit/823b9e683de8d2569c11ee65f5bd13710c4f5868

Comment by Aaron Heckmann [ 15/Feb/13 ]

Need to update the blog/release notes since some of ES5 doesn't work on our documents (closed as wont fix).

SERVER-8216
SERVER-8223

Comment by Aaron Heckmann [ 12/Feb/13 ]

I sent the release notes off to Sam. Once the release notes are updated, we can publish the blog post.

Comment by Aaron Heckmann [ 22/Jan/13 ]

Spidermonkey extensions not available in v8

1) Iterator(), StopIteration(), and generators (yield keyword): link

2) E4X extensions: XML(), Namespace(), QName(), XMLList(), isXMLName()

3) InternalError() constructor

4) Destructuring assignment

5) uneval()

6) for each...in link

7) Array comprehension `var r = [i * i for each (i in a)]`

8) Multiple catch blocks:

try { 
  something() 
} catch (err if err instanceof SomeError) { 
  print('some error') 
} catch (err) { 
  print('standard error')
}

9) Conditional function definition:

if (false) { 
  function go () {}; 
} 
assert.equal('function', typeof go) // undefined in spidermonkey, function in v8

10) String generics:

String.replace()
String.quote
String.substring()
String.toLowerCase()
String.toUpperCase()
String.charAt()
String.charCodeAt()
String.indexOf()
String.lastIndexOf()
String.startsWith()
String.endsWith()
String.trim()
String.trimLeft()
String.trimRight()
String.toLocaleLowerCase()
String.toLocaleUpperCase()
String.localeCompare()
String.match()
String.search()
String.replace()
String.split()
String.substr()
String.concat()
String.slice()

11) Array generics:

Array.every()
Array.join()
Array.reverse()
Array.sort()
Array.push()
Array.pop()
Array.shift()
Array.unshift()
Array.splice()
Array.concat()
Array.slice()
Array.indexOf()
Array.lastIndexOf()
Array.forEach()
Array.map()
Array.filter()
Array.some()
Array.every()

12) Array#toSource

Obsoleted by ES5

1) The non-standard Object.keySet() function can be removed in favor of the standardized Object.keys() available in v8.

2) The non-standard String#rtrim() function can be removed in favor of the standardized String#trimRight() available in v8.

3) The non-standard String#ltrim() function can be removed in favor of the standardized String#trimLeft() available in v8.

Comment by Ben Becker [ 12/Jan/13 ]

Starting a stub for user-facing changes we need to document. Some of these will come from QA tasks, while others can likely come from existing JIRA tickets.

Generated at Thu Feb 08 07:39:58 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.