최고의 자바 스크립트 튜토리얼

JavaScript는 지구상에서 가장 널리 사용되는 스크립팅 언어입니다. 그리고 그것은 모든 프로그래밍 언어 중 가장 큰 도서관 생태계를 가지고 있습니다.

JavaScript는 웹의 핵심 언어이며 모든 주요 웹 브라우저에서 실행할 수있는 유일한 프로그래밍 언어입니다.

특히 JavaScript는 Java와 관련이 없습니다. JavaScript : 세계에서 가장 오해를받는 프로그래밍 언어를 확인하십시오.

JavaScript의 공식 명칭은 Standard ECMA-262에 정의 된 ECMAScript입니다.

JavaScript 언어에 대해 자세히 알아보고 왜 그렇게 널리 사용되는지 알아 보려면 Quincy Larson의 기사-어떤 프로그래밍 언어를 먼저 배워야합니까? -또는 Preethi Kasireddy의 영감을주는 동영상을 시청하세요.

freeCodeCamp에는 단 3 시간 만에 모든 기본 사항을 가르쳐주는 심도있는 JavaScript 자습서가 있습니다.

다른 좋은 자바 스크립트 튜토리얼 :

  • 고양이를위한 자바 스크립트
  • 최신 JavaScript 튜토리얼
  • 함수형 프로그래밍에 대한 Frisby 교수의 가장 적절한 가이드
  • Eloquent Javascript ( 주석 달기 )
  • 자바 스크립트 말하기
  • ES6 살펴보기
  • Udemy-자바 스크립트 이상한 부분 이해 ( 처음 3.5 시간 )
  • JavaScript의 함수형 프로그래밍
  • 자바 스크립트 입문 : 첫 단계
  • Douglas Crockford 's 비디오들
  • 모던 JS 치트 시트
  • 자바 스크립트 학습을위한 50 가지 최고의 웹 사이트
  • Codementor JavaScript 튜토리얼
  • jQuery가 필요하지 않을 수도 있습니다.

참고 문헌

  • DevDocs
  • OverAPI JavaScript 치트 시트
  • ECMA-262
  • Mozilla 개발자 네트워크 (MDN)

빠른 자바 스크립트

  • REPL ( 노드 )
  • JSBin
  • JSFiddle
  • CodePen
  • CoderPad ( 페어 프로그래밍 )
  • C9 ( IDE , 쌍 프로그래밍 )
  • 개체 놀이터 ( 개체 시각화 )
  • 플 런커

도전

  • 코드 전쟁
  • 해커 순위
  • 코딩 게임
  • CodeFights
  • ES6 Katas

튜토리얼

  • 코드 카데미
  • RithmSchool

수업 과정

  • Codility
  • Coderbyte
  • 운동
  • 자바 스크립트 30
  • Javascript.com (Pluralsight)

편집자

  • Visual Studio 코드
  • 원자
  • 숭고한 텍스트
  • Webstorm
  • 브래킷

블로그

  • 완벽 킬
  • 2ality
  • Medium의 JS 컬렉션
  • 데이비드 월시
  • 슈퍼 히어로 JS

팟 캐스트

  • JS Jabber

비디오 튜토리얼

  • Derek Banas의 Learn JS In One Video
  • Derek Banas의 객체 지향 JavaScript

서적

  • 자바 스크립트 닌자의 비밀
  • JavaScript 애플리케이션 프로그래밍
  • 유지 가능한 JavaScript
  • JavaScript 디자인 패턴 배우기
  • Airbnb JavaScript 스타일 가이드
  • JSDoc
  • 자바 스크립트 Allonge Six
  • 당신은 JS를 모른다

초급부터 고급까지 Kyle Simpson의 JavaScript에 관한 6 권의 책.

  • Eloquent 자바 스크립트

Fantastic, thorough introduction to the basics and features of JavaScript, complete with in-browser interactive code.

  • Professor Frisby’s Mostly Adequate Guide to Functional Programming

Quite in-depth guide to Functional Programming in JavaScript

  • The JavaScript Way
  • Functional Light JS

Standalone JavaScript engines

Mozilla’s SpiderMonkey, the first JavaScript engine ever written, currently used in Mozilla Firefox.

V8, Google’s JavaScript engine, used in Google Chrome.

Google Apps Script, a cloud-based/server-side interpreter that provides programmatic “macro-like” control of Google Apps services and documents.

Node.js, built on top of V8, a platform which enables server-side applications to be written in JavaScript.

Windows includes JScript, a JavaScript variant in Windows Script Host.

Chakra, a fork of Jscript, is developed by Microsoft and used in their Edge browser.

Mozilla also offers Rhino, an implementation of JavaScript built in Java, typically embedded into Java applications to provide scripting to end users.

WebKit (except for the Chromium project) implements the JavaScriptCore engine.

JavaScript Frameworks

The most frequently used JavaScript Frameworks are React JS, Angular JS, jQuery, and NodeJS. For more details follow this link.

Advantages and Disadvantages of JavaScript

Like with all programming languages, JavaScript has certain advantages and disadvantages to consider. Many of these are related to the way JavaScript is often executed directly in a client's browser. But there are other ways to use JavaScript now that allow it to have the same benefits of server-side languages.

Advantages of JavaScript

  • Speed - JavaScript tends to be very fast because it is often run immediately within the client's browser. So long as it doesn't require outside resources, JavaScript isn't slowed down by calls to a backend server. Also, major browsers all support JIT (just in time) compilation for JavaScript, meaning that there's no need to compile the code before running it.
  • Simplicity - JavaScript's syntax was inspired by Java's and is relatively easy to learn compared to other popular languages like C++.
  • Popularity - JavaScript is everywhere on the web, and with the advent of Node.js, is increasingly used on the backend. There are countless resources to learn JavaScript. Both StackOverflow and GitHub show an increasing amount of projects that use JavaScript, and the traction it's gained in recent years is only expected to increase.
  • Interoperability - Unlike PHP or other scripting languages, JavaScript can be inserted into any web page. JavaScript can be used in many different kinds of applications because of support in other languages like Pearl and PHP.
  • Server Load - JavaScript is client-side, so it reduces the demand on servers overall, and simple applications may not need a server at all.
  • Rich interfaces - JavaScript can be used to create features like drag and drop and components such as sliders, all of which greatly enhance the user interface and experience of a site.
  • Extended Functionality - Developers can extend the functionality of web pages by writing snippets of JavaScript for third party add-ons like Greasemonkey.
  • Versatility - There are many ways to use JavaScript through Node.js servers. If you were to bootstrap Node.js with Express, use a document database like MongoDB, and use JavaScript on the frontend for clients, it is possible to develop an entire JavaScript app from front to back using only JavaScript.
  • Updates - Since the advent of ECMAScript 5 (the scripting specification that JavaScript relies on), ECMA International has been dedicated to updating JavaScript annually. So far, we have received browser support for ES6 in 2017 and look forward to ES7 being supported in the future.

Disadvantages of JavaScript

  • Client-Side Security - Since JavaScript code is executed on the client-side, bugs and oversights can sometimes be exploited for malicious purposes. Because of this, some people choose to disable JavaScript entirely.
  • Browser Support - While server-side scripts always produce the same output, different browsers sometimes interpret JavaScript code differently. These days the differences are minimal, and you shouldn't have to worry about it as long as you test your script in all major browsers.

ES6

The 6th edition of ECMAScript is called ES6.

It is also know as ES2015.

The changes add a lot of syntactic sugar that allow developers to create applications in an object oriented style.

ES5 example:

var User = function () { function User(name) { this._name = name; } User.prototype.getName = function getName(x) { return 'Mr./Mrs. ' + this._name; }; return User; }();

ES6 example:

class User { constructor(name) { this._name = name } getName() { return `Mr./Mrs. ${this._name}` } }

A lot of new syntax features were introduced including:

  • classes
  • modules
  • templating
  • for/of loops
  • generator expressions
  • arrow functions
  • collections
  • promises

Nowadays most of the features are available in all popular browsers. The compatibility table contains all information about feature availability of all modern browsers.

Frequently, new features arrive that are part of the successor ES7. A common way is to translate modern JavaScript (ES6, ES7 and other experimental proposals) to ES5. This makes sure that also old browsers can execute the code. There are tools like Babel that transforms new JavaScript to ES5.

Besides syntactic sugar coming from ECMAScript standards there are features that require a Polyfill. Usually they are necessary because whole class/method implementations were added to the standard.

Object Instantiation

In JavaScript and most other languages, an object contains a series of properties, which are a key, value pair. There are multiple options available to you when you need to construct an object.

Initialize an object variable

You can create an object with pre-defined properties like so:

let myObject = { name: "Dave", age: 33 }

Creating an empty object

This creates an empty object inside our myObject variable:

let myObject = new Object();

When you wish to add properties to your object, you simply use either dot notation or bracket notation with the property name of your choice:

myObject.name = "Johnny Mnemonic" myObject["age"] = 55

Using a constructor function

You can define a constructor function that you can use to create your objects:

function Kitten(name, cute, color) { this.name = name, this.cute = cute, this.color = color }

You can define a variable containing an instantiation of this object by calling the constructor function:

let myKitten = new Kitten("Nibbles", true, "white")

Object.create()

The Object.create() method (first defined in ECMAScript 5.1) allows you to create objects. it allows you to choose the prototype object for your new object without needing to define a constructor function beforehand.

// Our pre-defined object let kitten = { name: "Fluff", cute: true, color: "gray" } // Create a new object using Object.create(). kitten is used as the prototype let newKitten = Object.create(kitten) console.log(newKitten.name) // Will output "Fluff"