New in JavaScript 1.6

공헌자 숫자: 3명

현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.

JavaScript 1.6 여러 새 기능(E4X, 여러 새 Array 메소드, Array과 String generic)을 소개합니다.

JavaScript 1.6은 Firefox 1.5와 이후 버전에서 지원합니다.

E4X

ECMAScript for XML (E4X)는 JavaScript 안의 XML 컨텐트를 만들고 처리하는 강력한 기술입니다. 우리는 기존 DOM과의 transparent한 통합 추가를 포함하는 E4X 지원 향상을 계속할 예정이지만 XML 기반 웹 응용프로그램을 만드는(build) 개발자는 Firefox 1.5의 E4X 지원에서 이득을 얻을 수 있습니다.

아직은 E4X를 쓸 때 표준 MIME 형을 쓸 수 있습니다.

<script type="text/javascript">

그러나, E4X 구문이 옛날 브라우저에서 그것을 숨기기 위해 HTML 주석 (<!--...-->)에 스크립트를 넣는 흔한 관례(practice)와 충돌할지도 모릅니다. E4X 또한 스크립트에 기호 "<"와 ">"를 허용하는 XML CDATA 절 (<![CDATA[...]]>) 에 스크립트를 놓는 더 현대식 관례와 충돌할지도 모릅니다(이는 HTML에는 적용되지 않음을 주의하세요). 만약 설명할 수 없는 구문 에러를 보면, MIME 형에 "; e4x=1"를 보태세요.

<script type="text/javascript; e4x=1">

확장기능의 스크립트는 항상 HTML 주석을 E4X 상수(literal)로 다룸을 주의하세요. 즉, "e4x=1"을 묵시(implicit)로 적용합니다.

E4X는 Processing XML with E4X에서 설명합니다.

Array 추가분

두 갈래(item location 메소드와 iterative 메소드)로 구분할 수 있는 7가지 새 Array 메소드가 있습니다. item location 메소드는

  • indexOf() - 주어진 item의 맨 처음 출현(occurrence) 인덱스를 반환합니다.
  • lastIndexOf() - 주어진 item의 맨 마지막 출현 인덱스를 반환합니다.

iterative 메소드는

  • every() - 함수가 참을 반환하는 동안 배열의 항목들에 함수를 돌립니다. 만약 함수가 방문할 수 있는 모든 항목에 대해 참을 반환하면 참을 반환합니다.
  • filter() - 배열의 각 항목에 함수를 돌리고 함수가 참을 반환하는 모든 항목의 배열을 반환합니다.
  • forEach() - 배열의 모든 항목에 함수를 돌립니다.
  • map() - 배열의 모든 항목에 함수를 돌리고 배열에 결과를 반환합니다.
  • some() - 함수가 거짓을 반환하는 동안 배열의 항목들에 함수를 돌립니다. 만약 함수가 방문할 수 있는 어떤 항목에 참을 반환하면 참을 반환합니다.

더 자세한 정보는 Working with Arrays나 Nicholas C. Zakas의 기사 Mozilla's New Array Methods를 보세요.

Array와 String generic

간혹 배열 메소드를 문자열에 쓰고 싶습니다. 이리하여, 문자열을 문자 배열로 다룹니다. 예를 들어, 변수 str의 모든 문자(character)가 문자(letter)인지 검사하기 위해, 당신은 작성합니다.

function isLetter(character) {
  return (character >= "a" && character <= "z");
}

if (Array.prototype.every.call(str, isLetter))
  alert("The string '" + str + "' contains only letters!");

이 표기(notation)는 약간 낭비라서 JavaScript 1.6은 generic 속기(shorthand)를 도입합니다.

if (Array.every(str, isLetter))
  alert("The string '" + str + "' contains only letters!");

비슷하게 문자열 메소드를 어느 개체든지 쉽게 적용할 수 있습니다.

var num = 15;
alert(String.replace(num, /5/, '2'));

같이 보기

Working with Array-like objects.

 

문서 태그 및 공헌자

Contributors to this page: teoli, Netaras, Sebuls
최종 변경: teoli,
사이드바 숨기기