diff options
Diffstat (limited to 'ko-kr/javascript-kr.html.markdown')
-rw-r--r-- | ko-kr/javascript-kr.html.markdown | 69 |
1 files changed, 33 insertions, 36 deletions
diff --git a/ko-kr/javascript-kr.html.markdown b/ko-kr/javascript-kr.html.markdown index 619d8104..267b5b2f 100644 --- a/ko-kr/javascript-kr.html.markdown +++ b/ko-kr/javascript-kr.html.markdown @@ -9,18 +9,15 @@ filename: javascript-kr.js lang: ko-kr --- -자바스크립트는 넷스케이프의 브렌던 아이크(Brendan Eich)가 1995년에 만들었습니다. -원래 자바스크립트는 웹사이트를 위한 단순한 스크립트 언어를 목표로 만들어졌는데, -좀 더 복잡한 웹 애플리케이션을 만들기 위해 자바를 보완하는 역할이었지만 -웹 페이지와의 긴밀한 상호작용과 브라우저에 대한 지원 기능 덕분에 웹 프론트엔드에서 -자바보다 훨씬 더 보편적으로 쓰이게 됐습니다. +자바스크립트는 넷스케이프의 브렌던 아이크(Brendan Eich)가 1995년에 만들었습니다. +원래 자바스크립트는 웹사이트를 위한 단순한 스크립트 언어를 목표로 만들어졌는데, +좀 더 복잡한 웹 애플리케이션을 만들기 위해 자바를 보완하는 역할이었지만 +웹 페이지와의 긴밀한 상호작용과 브라우저에 대한 지원 기능 덕분에 웹 프론트엔드에서 +자바보다 훨씬 더 보편적으로 쓰이게 됐습니다. -그렇지만 자바스크립트는 웹 브라우저에만 국한되지 않습니다. 구글 크롬의 V8 자바스크립트 +그렇지만 자바스크립트는 웹 브라우저에만 국한되지 않습니다. 구글 크롬의 V8 자바스크립트 엔진을 위한 독립형 런타임을 제공하는 Node.js는 점점 인기를 얻고 있습니다. -피드백 주시면 대단히 감사하겠습니다! [@ExcitedLeigh](https://twitter.com/ExcitedLeigh)나 -[l@leigh.net.au](mailto:l@leigh.net.au)를 통해 저와 만나실 수 있습니다. - ```js // 주석은 C와 비슷합니다. 한 줄짜리 주석은 두 개의 슬래시로 시작하고, /* 여러 줄 주석은 슬래시 별표로 시작해서 @@ -30,7 +27,7 @@ lang: ko-kr doStuff(); // 하지만 꼭 그럴 필요는 없는데, 특정 경우를 제외하고 -// 새 줄이 시작할 때마다 세미콜론이 자동으로 삽입되기 때문입니다. +// 새 줄이 시작할 때마다 세미콜론이 자동으로 삽입되기 때문입니다. doStuff() // 여기서는 세미콜론을 생략하겠습니다. 세미콜론을 생략할지 여부는 @@ -57,7 +54,7 @@ doStuff() // 32비트까지 부호가 있는 int로 변환됩니다. 1 << 2 // = 4 -// 괄호를 이용하면 우선순위를 지정할 수 있습니다. +// 괄호를 이용하면 우선순위를 지정할 수 있습니다. (1 + 3) * 2 // = 8 // 실제 숫자가 아닌 특별한 세 가지 값이 있습니다. @@ -97,7 +94,7 @@ false // 그리고 <와 >로 비교할 수 있습니다. "a" < "b" // = true -// 비교 시 타입 강제변환이 수행됩니다. +// 비교 시 타입 강제변환이 수행됩니다. "5" == 5 // = true // ===를 쓰지 않는다면 말이죠. @@ -123,14 +120,14 @@ var someVar = 5 // var 키워드를 지정하지 않아도 오류는 발생하지 않습니다. someOtherVar = 10 -// 그렇지만 변수가 여러분이 정의한 유효범위가 아니라 +// 그렇지만 변수가 여러분이 정의한 유효범위가 아니라 // 전역 유효범위에 생성됩니다. -// 값을 할당하지 않은 채로 선언한 변수는 undefined로 설정됩니다. +// 값을 할당하지 않은 채로 선언한 변수는 undefined로 설정됩니다. var someThirdVar // = undefined // 변수에 수학 연산을 수행하는 축약형 표현은 다음과 같습니다. -someVar += 5 // someVar = someVar + 5;와 같음. 이제 someVar는 10. +someVar += 5 // someVar = someVar + 5;와 같음. 이제 someVar는 10. someVar *= 10 // somVar는 100 // 1을 더하거나 빼는 훨씬 더 짧은 표현도 있습니다. @@ -234,7 +231,7 @@ setTimeout(function myFunction(){ // 이 코드는 5초 내에 호출됨 }, 5000) -// 자바스크립트에는 함수 유효범위가 있습니다. +// 자바스크립트에는 함수 유효범위가 있습니다. // 함수는 자체적인 유효범위를 가지지만 다른 블록은 유효범위를 가지지 않습니다. if (true){ var i = 5 @@ -246,7 +243,7 @@ i // = 5 - 블록 유효범위를 지원하는 언어에서는 undefined가 아 (function(){ var temporary = 5 // '전역 객체'에 할당하는 식으로 전역 유효범위에 접근할 수 있는데, - // 브라우저에서 전역 객체는 항상 'window'입니다. 전역 객체는 + // 브라우저에서 전역 객체는 항상 'window'입니다. 전역 객체는 // Node.js와 같은 브라우저가 아닌 환경에서는 다른 이름일 수도 있습니다. window.permanent = 10 // 또는 앞에서 언급했다시피 var 키워드를 뺄 수도 있습니다. @@ -292,8 +289,8 @@ myObj = { } myObj.myFunc() // = "Hello world!" -// 여기서 설정한 것은 함수가 정의된 곳이 아닌 함수가 호출되는 -// 방식과 관련이 있습니다. 그래서 아래 함수는 객체 컨텍스트에서 +// 여기서 설정한 것은 함수가 정의된 곳이 아닌 함수가 호출되는 +// 방식과 관련이 있습니다. 그래서 아래 함수는 객체 컨텍스트에서 // 호출되지 않으면 동작하지 않습니다. var myFunc = myObj.myFunc myFunc() // = undefined @@ -320,8 +317,8 @@ myNewObj.myNumber // = 5 // 해당 프로퍼티를 찾습니다. // 일부 자바스크립트 구현체에서는 __proto__라는 마법의 프로퍼티로 -// 객체의 프로토타입에 접근하는 것을 허용하기도 합니다. 프로토타입을 -// 설명하기에는 이런 내용도 도움되겠지만 __proto__는 표준에 포함돼 +// 객체의 프로토타입에 접근하는 것을 허용하기도 합니다. 프로토타입을 +// 설명하기에는 이런 내용도 도움되겠지만 __proto__는 표준에 포함돼 // 있지 않습니다. 나중에 프로토타입을 사용하는 표준 방법을 살펴보겠습니다. var myObj = { myString: "Hello world!", @@ -346,18 +343,18 @@ myPrototype.__proto__ = { myObj.myBoolean // = true // 여기서 복사는 일어나지 않습니다. 각 객체에는 프로토타입에 대한 -// 참조가 보관돼 있습니다. 이는 프로토타입을 변경하면 변경사항이 +// 참조가 보관돼 있습니다. 이는 프로토타입을 변경하면 변경사항이 // 모든 곳에 반영된다는 의미입니다. myPrototype.meaningOfLife = 43 myObj.meaningOfLife // = 43 -// 앞에서 __proto__가 표준에 포함돼 있지 않다고 이야기했는데, -// 기존 객체의 프로토타입을 변경하는 표준 방법은 없습니다. +// 앞에서 __proto__가 표준에 포함돼 있지 않다고 이야기했는데, +// 기존 객체의 프로토타입을 변경하는 표준 방법은 없습니다. // 하지만 특정 프로토타입을 가지고 새로운 객체를 생성하는 두 가지 // 방법이 있습니다. -// 첫 번째 방법은 Object.create를 이용하는 것인데, -// Object.create는 최근에 자바스크립트에 추가된 것이라서 아직까지 +// 첫 번째 방법은 Object.create를 이용하는 것인데, +// Object.create는 최근에 자바스크립트에 추가된 것이라서 아직까지 // 모든 구현체에서 이용할 수 있는 것은 아닙니다. var myObj = Object.create(myPrototype) myObj.meaningOfLife // = 43 @@ -388,7 +385,7 @@ if (0){ // 0은 거짓이라서 이 코드는 실행되지 않습니다. } -// 하지만 래퍼 객체와 일반 내장 함수는 프로토타입을 공유하기 때문에 +// 하지만 래퍼 객체와 일반 내장 함수는 프로토타입을 공유하기 때문에 // 가령 문자열에 실제로 기능을 추가할 수 있습니다. String.prototype.firstCharacter = function(){ return this.charAt(0) @@ -399,7 +396,7 @@ String.prototype.firstCharacter = function(){ // 새로운 기능을 구현하는 "폴리필(polyfilling)"에 자주 이용되므로 // 오래된 버전의 브라우저와 같이 기존 환경에서 사용될 수 있습니다. -// 예를 들어, Object.create가 모든 구현체에서 사용 가능한 것은 아니라고 +// 예를 들어, Object.create가 모든 구현체에서 사용 가능한 것은 아니라고 // 했지만 아래의 폴리필을 이용해 Object.create를 여전히 사용할 수 있습니다. if (Object.create === undefined){ // 이미 존재하면 덮어쓰지 않음 Object.create = function(proto){ @@ -415,19 +412,19 @@ if (Object.create === undefined){ // 이미 존재하면 덮어쓰지 않음 ## 기타 참고 자료 -[모질라 개발자 네트워크](https://developer.mozilla.org/en-US/docs/Web/JavaScript)에서는 -자바스크립트에 대한 훌륭한 문서를 제공합니다. 더불어 위키 형식이라서 좀 더 많은 사항을 +[모질라 개발자 네트워크](https://developer.mozilla.org/en-US/docs/Web/JavaScript)에서는 +자바스크립트에 대한 훌륭한 문서를 제공합니다. 더불어 위키 형식이라서 좀 더 많은 사항을 배우게 되면 여러분만의 지식을 공유함으로써 다른 사람들에게 도움을 줄 수도 있습니다. -MDN의 ['자바스크립트 재입문'](https://developer.mozilla.org/ko/docs/A_re-introduction_to_JavaScript)에서는 -여기서 다룬 개념의 상당수를 더욱 자세히 다루고 있습니다. 이 자료에서는 자바스크립트 언어 자체에 -대해서만 상당히 신중하게 다뤘습니다. 웹 페이지에서 자바스크립트를 사용하는 방법을 배우고 싶다면 -[문서 객체 모델(Document Object Model)](https://developer.mozilla.org/en-US/docs/Using_the_W3C_DOM_Level_1_Core)에 +MDN의 ['자바스크립트 재입문'](https://developer.mozilla.org/ko/docs/A_re-introduction_to_JavaScript)에서는 +여기서 다룬 개념의 상당수를 더욱 자세히 다루고 있습니다. 이 자료에서는 자바스크립트 언어 자체에 +대해서만 상당히 신중하게 다뤘습니다. 웹 페이지에서 자바스크립트를 사용하는 방법을 배우고 싶다면 +[문서 객체 모델(Document Object Model)](https://developer.mozilla.org/en-US/docs/Using_the_W3C_DOM_Level_1_Core)에 관해 배우는 것으로 시작하길 바랍니다. [자바스크립트 가든](http://bonsaiden.github.io/JavaScript-Garden/)에서는 자바스크립트 언어에서 직관에 어긋나는 모든 부분들을 심도 있게 다룹니다. -더불어 이 글에 직접적으로 기여한 분들로, 내용 중 일부는 이 사이트에 있는 -루이 딘(Louie Dihn)의 파이썬 튜토리얼과 모질라 개발자 네트워크에 있는 +더불어 이 글에 직접적으로 기여한 분들로, 내용 중 일부는 이 사이트에 있는 +루이 딘(Louie Dihn)의 파이썬 튜토리얼과 모질라 개발자 네트워크에 있는 [자바스크립트 튜토리얼](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript)을 참고했습니다. |