Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

ES6 spec-compliant Object.assign shim. Fromhttps://github.com/es-shims/es6-shim

License

NotificationsYou must be signed in to change notification settings

ljharb/object.assign

Repository files navigation

github actionscoveragedependency statusdev dependency statusLicenseDownloads

npm badge

An Object.assign shim. Invoke its "shim" method to shim Object.assign if it is unavailable.

This package implements thees-shim API interface. It works in an ES3-supported environment and complies with thespec. In an ES6 environment, it will also work properly withSymbols.

Takes a minimum of 2 arguments:target andsource.Takes a variable sized list of source arguments - at least 1, as many as you want.Throws a TypeError if thetarget argument isnull orundefined.

Most common usage:

varassign=require('object.assign').getPolyfill();// returns native method if compliant/* or */varassign=require('object.assign/polyfill')();// returns native method if compliant

Example

varassert=require('assert');// Multiple sources!vartarget={a:true};varsource1={b:true};varsource2={c:true};varsourceN={n:true};varexpected={a:true,b:true,c:true,n:true};assign(target,source1,source2,sourceN);assert.deepEqual(target,expected);// AWESOME!
vartarget={a:true,b:true,c:true};varsource1={c:false,d:false};varsourceN={e:false};varassigned=assign(target,source1,sourceN);assert.equal(target,assigned);// returns the target objectassert.deepEqual(assigned,{a:true,b:true,c:false,d:false,e:false});
/* when Object.assign is not present */deleteObject.assign;varshimmedAssign=require('object.assign').shim();/* or */varshimmedAssign=require('object.assign/shim')();assert.equal(shimmedAssign,assign);vartarget={a:true,b:true,c:true};varsource={c:false,d:false,e:false};varassigned=assign(target,source);assert.deepEqual(Object.assign(target,source),assign(target,source));
/* when Object.assign is present */varshimmedAssign=require('object.assign').shim();assert.equal(shimmedAssign,Object.assign);vartarget={a:true,b:true,c:true};varsource={c:false,d:false,e:false};assert.deepEqual(Object.assign(target,source),assign(target,source));

Tests

Simply clone the repo,npm install, and runnpm test


[8]ページ先頭

©2009-2025 Movatter.jp