음 아마 비둘기보단 똑똑할꺼야
준돌 Jundol / 2015.10.28 23:31 / JavaScript/Core



http://kangax.github.io/compat-table/es6/#ie10


브라우저별로 현재 지원되고 있는 core function 을 확인할 수 있는 사이트입니다.

잘 정리가 되어 있고 가독성도 높습니다.

ECMASCRIPT6 는 엣지브라우저에서나 사용할 수 있을 것 같네요.

빌어먹을 IE


준돌 Jundol / 2015.10.28 23:26 / JavaScript/Core

본 포스팅은 MDN 에 있는 번역되지 않은 문서를 번역 봉사에 참여한 후 블로그에 옮겨놓는 포스팅 입니다.

추가적인 사담이 존재합니다.



TypedArray.prototype.fill()

fill 메소드는 배열의 모든 요소를 지정한 시작 인덱스부터 종료 인덱스까지 정적인 값으로 채우는 메소드입니다.
TypedArray.prototype.fill 메소드는 Array.prototype.fill 메소드와 동일한 알고리즘을 가지고 있습니다.
TypedArray 는 typed array types 이곳에 있는 것 중 하나 입니다.

사담 : 개인적으로 정말 마음에 안듭니다. fill 이라는 범용적으로 사용되는 단어를 코어함수의 이름으로 사용한건 정말 별로네요...


문법

typedarray.fill(value[, start = 0[, end = this.length]])

매개변수

value
배열에 채워넣을 값.
start
선택사항. 시작 위치. 기본값은 0.
end
선택사항. 종료 위치 (종료위치를 포함하지않습니다. 즉, end -1 까지만 해당됩니다.). 기본값 this.length(배열의 길이).

설명

start 와 end 사이에 요소들을 채웁니다.

fill 메소드는 value, start 그리고 and 3개의 매개변수를 요구합니다. start 와 end 매개변수는 선택사항이며 기본값은 0 과 지정한 배열객체의 길이값 입니다.

만약 start 매개변수가 음수이면, start 의 값은 배열의 길이값을 합한 결과가 시작지점이 되고, 만약 end 가 음수라면, end 매개변수와 배열의 길이값을 합한 결과가 종료지점이 됩니다.

예시

new Uint8Array([1, 2, 3]).fill(4);         // Uint8Array [4, 4, 4]
new Uint8Array([1, 2, 3]).fill(4, 1);      // Uint8Array [1, 4, 4]
new Uint8Array([1, 2, 3]).fill(4, 1, 2);   // Uint8Array [1, 4, 3]
new Uint8Array([1, 2, 3]).fill(4, 1, 1);   // Uint8Array [1, 2, 3]
new Uint8Array([1, 2, 3]).fill(4, -3, -2); // Uint8Array [4, 2, 3]

특징

SpecificationStatusComment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'TypedArray.prototype.fill' in that specification.
StandardInitial definition.

브라우저 지원

FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic supportNot supported37 (37)Not supportedNot supportedNot supported

See also

원본 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill

준돌 Jundol / 2015.06.10 17:05 / JavaScript/Core


Document.createEvent()

DOM 레벨 2 이벤트

지원 브라우저
크롬 15, FF 11, Opera 11.6, Safari 6
IE는 DOM Events 모듈을 지원하지 않기 때문에 지원되지않는다.

Event createEvent(String eventType)

         throws DOMException

반환값
지정된 타입을 갖는 새로 생성된 Event 객체.

전달인자
eventType --> 원하는 Event 객체에 대한 이벤트 모듈의 이름.

예외 
현재 구현이 요청된 타입의 이벤트를 지원하지 않으면, code 값이 NOT_SUPPORTED_ERR 인 DOMException 을 발생시킨다.

설명
파라미터로 전달받은 이벤트타입을 갖는 새 이벤트 객체를 생성한다. 주의점은 파라미터의 값이 생성할 인터페이스(단수형)의 이름이 아니라 해당 인터페이스를 정의하는 DOM모듈(복수형)의 이름이어야 한다는 것이다. 


 eventType 전달인자

이벤트 인터페이스 

초기화 메소드 

HTMLEvents 

Event 

initEvent() 

MouseEvents 

MouseEvent 

initMouseEvent() 

UIEvents 

UIEvent 

initUIEvent() 


Document.createEvent() 메소드로 Event객체를 생성한 후에는 반드시 위 표에 있는 초기화 메소드를 이용해서 그 객체를 초기화 해야한다.


예제
구식방법
자바에서 영감을받아 작성한 구식이벤트 발생방법.

// Create the event.
var event = document.createEvent('Event');

// Define that the event name is 'build'.
event.initEvent('build', true, true);

// Listen for the event.
document.addEventListener('build', function (e) {
  // e.target matches document from above
}, false);

// target can be any Element or other EventTarget.
document.dispatchEvent(event);

이벤트를 정의하는 굉장히 오래된 기법이다. 없어질 기법이라고 봐도 무방할것 같다.

참고
1. 자바스크립트 완벽가이드 별책 page.1010
2. 모질라 개발자네트워크
https://developer.mozilla.org/en-US/docs/Web/API/Document/createEvent

© 2015 Jundol in 음 아마 비둘기보단 똑똑할꺼야
Designed by DH / Powered by Tistory
97 / 48 / 93,398