Javascript khó học

Học lập trình là thứ có thể mở ra vô số cơ hội trong tương lai. Bạn có thể chọn học JavaScript làm ngôn ngữ lập trình chính của mình, nhưng bạn mong đợi nó phức tạp đến mức nào?

Show

Tiếp tục thực hành các hướng dẫn về JavaScript

Trong khi học viết mã, đừng tạo trở ngại cho bản thân bằng cách không thực hành những điều cơ bản về JavaScript. Trước khi chuyển sang các hướng dẫn nâng cao, hãy đảm bảo bạn nắm được các nguyên tắc cơ bản

Bạn cần kiên trì luyện tập nếu muốn cải thiện kỹ năng lập trình của mình. Nếu không, bạn có thể thấy khó — ngay cả khi bạn đã nghiên cứu một lượng thông tin đáng kể

Chúng tôi khuyên bạn nên thực hiện các bài tập viết mã cho một khái niệm mới cho đến khi bạn hiểu nó

Nhìn vào các khóa học JavaScript

Javascript khó học

Bạn hoàn toàn có thể tự học JavaScript. Bạn có thể tạo con đường của riêng mình để trở thành kỹ sư hoặc nhà phát triển phần mềm. Có vô số tài nguyên trực tuyến để giúp bạn. Trên thực tế, nhiều đến mức bạn có thể không chắc mình nên bắt đầu từ đâu

Nếu bạn cảm thấy khó biết thứ tự học các khái niệm khác nhau, hãy cân nhắc tham gia khóa học mã hóa JavaScript với tất cả thông tin này được trình bày theo cách dễ tiếp cận

Tìm hiểu thêm về khóa học Cơ bản về viết mã kéo dài 4 tuần tại Devmountain

Nghiên cứu mã JavaScript mẫu và cố gắng hiểu nó

Khi học JavaScript, bạn sẽ tìm thấy mã mẫu nhằm mục đích giúp bạn hiểu khái niệm bạn đang học. Hãy chắc chắn xem kỹ mã và cố gắng hết sức để hiểu nó

Có lẽ tốt nhất là xem lại từng dòng mã và từng bước một. Tự hỏi vai trò của từng toán tử, biến, v.v. , phải chơi trong quá trình thực thi mã. Điều này không chỉ giúp bạn hiểu các khái niệm mà bạn đang tập trung vào mà còn giúp các bài tập viết mã của bạn dễ dàng hơn

Hãy nhớ nghỉ giải lao khi gỡ lỗi

Ngay cả khi bạn chưa bao giờ viết một dòng mã nào trong đời, bạn có thể đã nghe nói về việc gỡ lỗi có thể gây khó chịu như thế nào. Cuối cùng, tất cả các nhà phát triển đều gặp phải một tình huống mà họ không thể hiểu tại sao một số phần mã của họ lại gây ra lỗi.

Điều này thường dẫn đến rất nhiều sự thất vọng và thậm chí có thể khiến một số người từ bỏ hoàn toàn vấn đề. Tuy nhiên, nếu chương trình của bạn có lỗi, luôn có giải pháp

Đừng ngại bỏ đi và quay lại sau. Đây có thể là tất cả những gì bạn cần để giúp cung cấp cho bạn một góc nhìn khác về vấn đề

tiếp tục học. Luôn có nhiều thứ để học

Javascript khó học

Không có gì lạ khi mọi người cố gắng thành thạo JavaScript càng nhanh càng tốt. Cho dù điều này là do thiếu thời gian rảnh hay sự quan tâm sâu sắc đến chủ đề này

Điều này tương đương với việc cố gắng thành thạo một môn thể thao cụ thể trong một khung thời gian rất nhỏ. Đây không phải là một nỗ lực thực tế và nó hầu như sẽ luôn dẫn đến việc bạn không đạt được mục tiêu của mình

Khi học, bạn có thể gặp khó khăn với một số khái niệm trung cấp và nâng cao. Bạn thậm chí có thể đạt đến mức dành hàng giờ cho một số bài tập

Hãy nhớ rằng, bootcamp viết mã được thiết kế để dạy cho bạn những kỹ năng thực tế mà bạn có thể mở rộng

Thiết lập một tốc độ thoải mái cho bạn để tìm hiểu. Nếu bạn có thời gian để học hàng giờ mỗi ngày, thì bạn nên làm như vậy miễn là bạn không đụng phải bức tường gạch mỗi khi ngồi xuống

Tìm hiểu thêm về những gì cần thiết để tham dự một bootcamp mã hóa và liệu nó có phù hợp với bạn hay không

Vì vậy, học JavaScript trong thế giới thực có khó không?

Không, không phải vậy - miễn là bạn tiếp cận nó với một thái độ thực tế. Từ đây, bạn có thể quyết định học JavaScript hay không. Nếu bạn quan tâm đến việc trở thành nhà phát triển web front-end, hãy xem khóa học Cơ bản về viết mã trong 4 tuần của Devmountain, bao gồm HTML, CSS và JavaScript

Khi bạn bắt đầu học JavaScript, bạn có thể bắt đầu tự hỏi mình rất nhiều câu hỏi. câu hỏi như
  • Tại sao nó lại khó thế này?
  • Tôi có phải là người duy nhất nghĩ rằng điều này là khó hiểu?
  • Tôi có bao giờ thực sự thích viết chương trình bằng JavaScript không?

Hầu hết các ngôn ngữ lập trình giống như trò chơi cờ Othello. Họ mất một phút để học và cả đời để thành thạo. JavaScript phức tạp hơn nhiều. Nó làm tôi nhớ đến trò chơi ngoại giao trên bàn cờ, đây có thể là trò chơi khó chịu nhất từng được phát minh

Trong bài viết này, chúng ta sẽ đi vào 7 lý do chính khiến JavaScript rất khó học. Chúng tôi cũng sẽ đề cập đến lý do tại sao nó đáng học và nó là ngôn ngữ lập trình hữu ích như thế nào đối với các lập trình viên hiện đại

Hãy nhảy vào nó

1. JavaScript rất khó học vì để làm được những điều thú vị trong JavaScript, bạn cần sử dụng các tính năng nâng cao của JavaScript

Khi bạn bắt đầu học JavaScript, bạn sẽ nhanh chóng nhận ra rằng bạn cần tìm ra một số công nghệ liên quan đến JavaScript để xây dựng các ứng dụng hữu ích. Đây là những chủ đề bổ sung không phải là JavaScript truyền thống nhưng là những thứ bạn cần để thực sự viết JavaScript

Thực hiện các yêu cầu HTTP (AJAX) Yêu cầu thông qua API RESTful JSON

Bạn cần có khả năng thực hiện việc này để viết JavaScript bên trong trình duyệt web trở nên hữu ích. Vì vậy, hầu hết mã JavaScript bạn viết sẽ tận dụng chức năng này

Chức năng tương tự có thể được thực hiện bằng các ngôn ngữ lập trình khác. như ruby, trăn hoặc Java. Nhưng đây là chức năng nâng cao mà bạn có thể thực hiện sau này. Trong Javascript, bạn cần hiểu chức năng nâng cao này để làm bất cứ điều gì thú vị.

Hãy nói về điều này thực sự có nghĩa là gì

Yêu cầu HTTP là những gì xảy ra khi bạn truy cập một trang web hoặc nhấp vào một liên kết. Yêu cầu HTTP là một yêu cầu từ máy tính của bạn đến một tài nguyên bên ngoài nằm ở đâu đó trên Internet. Các yêu cầu HTTP thường được chia thành hai phần chính.

  • URL
  • Động từ HTTP

URL là thông tin đầu vào mà bạn nhập vào phần trên cùng của cửa sổ trình duyệt (e. g. như “google. com”). Động từ HTTP cho phép bạn xem một trang (yêu cầu GET) hoặc cho biết rằng bạn muốn tạo nội dung nào đó mới (thường thông qua việc gửi biểu mẫu), xóa một mục hoặc thực hiện thay đổi bằng các động từ HTTP khác

Hầu hết thời gian, các yêu cầu HTTP dẫn đến đầu ra của các trang web (như trang web bạn đang đọc này). Tuy nhiên, họ không nhất thiết phải quay lại với các trang web. Thay vào đó, họ có thể quay lại với cái được gọi là JSON (hoặc "biểu diễn JavaScript của một cái gì đó. ”)

Điều này nghe có vẻ phức tạp, vì vậy hãy lấy một ví dụ

Giả sử bạn đang xây dựng một trang web về sự thật về mèo. Trang có thể hiển thị thông tin về mèo trên màn hình. Ví dụ, một cái gì đó như. “Tất cả những con mèo đều có thể nói tiếng Anh. “Tôi chắc chắn 99% điều này không đúng

Tuy nhiên, thay vì hiển thị cho bạn một trang web hiển thị thông tin về con mèo của bạn, yêu cầu của bạn cũng có thể quay lại với JSON - một biểu diễn thông tin mà máy có thể đọc được. Đây là những gì nó có thể trông giống như

Javascript khó học

Đoạn mã trên là một ví dụ về JSON

Có ba điều mà hầu hết tất cả mã JavaScript được viết bên trong trình duyệt web sẽ cần thực hiện

  • Thực hiện một yêu cầu HTTP đến một địa chỉ web khác
  • Phân tích cú pháp kết quả của yêu cầu HTTP để nhận thông tin liên quan
  • Làm điều gì đó với kết quả của phản hồi HTTP

Trong các ngôn ngữ lập trình khác, những thứ như thế này được coi là nâng cao. Hầu hết những người mới bắt đầu thậm chí sẽ không cố gắng giải quyết cho đến khi họ dành hàng tháng làm việc với ngôn ngữ lập trình đó. Tuy nhiên, với JavaScript, bạn cần tận dụng ngay các tính năng nâng cao này để thực sự tận dụng sức mạnh của nó

2. JavaScript rất khó học vì nó được cung cấp bởi hàng đợi sự kiện .

Hàng đợi sự kiện là ẩn đối với các nhà phát triển. Nhưng nếu nó không hoạt động, mã JavaScript của bạn sẽ không làm được gì cả

Hàng đợi sự kiện cho phép bạn nói

“Khi [ĐIỀU GÌ XẢY RA], tôi muốn bạn làm như sau [MÃ ĐỂ THỰC HIỆN TẠI ĐÂY]. ”

JavaScript có bản chất là chờ đợi cho đến khi điều gì đó xảy ra, sau đó kích hoạt mã phù hợp vào đúng thời điểm một cách “thần kỳ”. Điều này có thể khá khó khăn cho người mới bắt đầu. Làm thế nào bạn có thể biết rằng mã sẽ được thực thi vào đúng thời điểm? . Thật khó để trở nên thoải mái với điều đó.

Việc thiếu tầm nhìn rõ ràng về một thứ gì đó cốt lõi đối với ngôn ngữ có thể khiến bạn cảm thấy như mình đang thiếu thứ gì đó. Bạn thấy mình đặt câu hỏi về những gì sẽ xảy ra, và bạn có xu hướng nghĩ

“Tôi biết tôi đã yêu cầu JavaScript thực thi điều này khi sự kiện này xảy ra, nhưng làm sao JavaScript biết tôi nên thực thi điều này sau đó?”

Vì vậy, câu trả lời là gì? . Vấn đề là tin tưởng một cách mù quáng vào điều gì đó mà bạn không hiểu đầy đủ có thể thực sự khó khăn. Nó đặc biệt khó khăn khi bạn mới bắt đầu

3. Javascript rất khó học vì để hoàn thành công việc bằng JavaScript, bạn thường cần hiểu các chủ đề Khoa học Máy tính phức tạp

Trong lập trình, “xác định chức năng” nhóm một đoạn mã và đặt tên cho đoạn mã đó. Ngoài ra còn có khái niệm về hàm ẩn danh, là “hàm không tên”, nghĩa là chúng tận dụng các khía cạnh khác nhau của hàm ngoài khả năng đặt tên cho một phần của . Ngoài ra còn có một khái niệm khoa học máy tính về thunk , thường được sử dụng trong các ngôn ngữ lập trình chức năng thường được giảng dạy tại các trường đại học (các ngôn ngữ như lisp, scheme, vợt . ).

Những khái niệm này xuất hiện sớm với JavaScript

Javascript có xu hướng phức tạp hơn các ngôn ngữ khác vì nó buộc bạn phải tích hợp chặt chẽ các chủ đề khoa học máy tính phức tạp này với khả năng hoàn thành công việc . Languages like ruby usually support these features. But they aren’t introduced to complete beginners without much of a background in programming.

Rất khó để tìm hiểu sớm các loại khái niệm mã hóa nâng cao này trong trải nghiệm lập trình của bạn. Vì vậy, nó làm cho JavaScript trở nên khó học

Cố gắng nhớ rằng những khái niệm này sẽ trở nên vô cùng hữu ích khi bạn tiếp tục học hỏi và phát triển với tư cách là một nhà phát triển

4. JavaScript rất khó học vì đây là ngôn ngữ lập trình không đồng bộ

Nó cũng là một luồng, có nghĩa là nó sử dụng tính chất không đồng bộ của nó theo một cách hoàn toàn khác so với hầu hết các ngôn ngữ lập trình khác

Tôi có ý nghĩa gì bởi không đồng bộ? . Lấy ví dụ này

Giả sử tôi muốn gọi cho bạn (vâng, tôi vẫn gọi cho mọi người…nhắn tin không hiệu quả với mọi thứ) để sắp xếp thời gian chơi Pokemon Go cùng nhau. Có hai cách cuộc trò chuyện có thể đi. Chúng ta có thể giao tiếp đồng bộ. Hoặc chúng ta có thể giao tiếp không đồng bộ

Phiên bản đồng bộ

Ken. “Này, bạn có rảnh để chơi Pokemon vào lúc 6 giờ tối mai không?”

Bạn. “Đợi đã, để tôi kiểm tra lịch của mình…. Vâng, nó hoạt động. Hãy gặp nhau sau đó. ”

Phiên bản không đồng bộ

Ken. “Này, bạn có rảnh để chơi Pokemon vào lúc 6 giờ tối mai không?”

Bạn. “Tôi không biết hãy để tôi kiểm tra lịch của mình và liên hệ lại với bạn sau. ”

Bạn (15 phút sau qua email). “Theo dõi về việc chơi Pokemon. Hãy làm điều đó vào ngày mai lúc 6 giờ chiều. Háo hức học thêm kinh nghiệm. ”

Hầu hết mọi thứ trong JavaScript diễn ra không đồng bộ , điều này có thể gây cảm giác lạc hậu so với hầu hết các ngôn ngữ lập trình khác. Nói chung, trong JavaScript,  bạn sẽ không bao giờ phải đợi một thứ mất nhiều thời gian để hoàn thành. Thay vào đó, bạn sẽ đưa nó vào hoạt động, bắt đầu làm những công việc khác và được nhắc nhở khi “việc đầu tiên” hoàn thành.

Trong hầu hết các ngôn ngữ lập trình, bạn chia chương trình của mình thành các bước cụ thể

  • Đầu tiên, hãy làm điều này và đợi nó hoàn thành trước khi chuyển sang điều tiếp theo
  • Sau đó, làm điều đó và chờ cho nó hoàn thành trước khi chuyển sang điều tiếp theo, điều tiếp theo
  • vân vân

Nhưng trong JavaScript, bạn sử dụng một loại quy trình làm việc khác giúp loại bỏ bất kỳ sự chờ đợi nào. Nó đi như thế này

  • Đầu tiên, hãy làm việc này và chuyển sang việc tiếp theo, nhưng hãy thông báo cho tôi khi hoàn thành
  • Sau đó, hãy làm việc khác và thông báo cho tôi khi hoàn thành
  • [rồi sau]
  • Cuối cùng, thông báo cho tôi rằng điều đầu tiên đã hoàn thành
  • Cuối cùng, thông báo cho tôi rằng điều thứ hai đã hoàn thành. (nhưng không nhất thiết phải theo thứ tự này)

Có thể cảm thấy kỳ lạ khi chia nhỏ các nhiệm vụ thành các bước cụ thể mà không đợi hoàn thành trước khi chuyển sang việc tiếp theo. Nhưng theo thời gian, sau khi bạn viết càng nhiều mã JavaScript, nó sẽ trở nên tự nhiên hơn

Cú pháp có thể lộn xộn nếu bạn đang cố gắng thực hiện mọi thứ theo cách đồng bộ , đó là cách hầu hết tất cả các ngôn ngữ lập trình khác hướng dẫn bạn phân tách vấn đề.

Khi bạn đã quen với cú pháp của JavaScript và bạn có thể suy nghĩ về mọi thứ theo cách đó, bạn sẽ cảm thấy JavaScript tự nhiên hơn nhiều. Cuối cùng, nó có thể giống như một giải pháp tinh tế cho một vấn đề phổ biến mà bạn có thể sẽ gặp phải. xây dựng một ngôn ngữ lập trình điều khiển không đồng bộ.

5. Javascript rất khó học vì jQuery có thể vừa là may mắn vừa là tai họa

Ngoài bản thân ngôn ngữ lập trình JavaScript, hầu hết mọi người đều muốn tương tác với trang web theo cách có ý nghĩa. Để làm được điều này, nhà phát triển cần tương tác với web API mà trình duyệt cung cấp để bạn tương tác với . Ban đầu, các trình duyệt web có nhiều vấn đề, chẳng hạn như.

  • Các trình duyệt không nhất quán trong cách chúng làm việc với các trang web
    • Nếu thứ gì đó hoạt động với Firefox, thì nó sẽ không hoạt động trong Internet Explorer (hoặc ngược lại. )
  • Thông thường, nhiều dòng mã được yêu cầu để thực hiện các tác vụ đơn giản hàng ngày

jQuery đã khắc phục cả hai sự cố này. Nó có thể viết một chương trình JavaScript ngắn gọn, duy nhất hoạt động trên tất cả các trình duyệt web. Điều này làm cho cuộc sống của bạn với tư cách là một nhà phát triển web trở nên dễ dàng hơn rất nhiều, điều này thật tuyệt. Nhưng mặt khác, jQuery chỉ là một thứ nữa mà bạn cần học với tư cách là nhà phát triển web, ngoài tất cả những thứ chúng ta đã nói trước đây

  • yêu cầu AJAX
  • hàng đợi sự kiện
  • JSON,
  • Suy nghĩ một cách không đồng bộ

Đó là rất nhiều thứ để nhớ và gắn kết với nhau. Và đó là lý do chính khiến JavaScript rất khó học

6. JavaScript rất khó học vì nó dường như vi phạm rất nhiều quy tắc mà bạn đã học trước đây khi làm việc với một ngôn ngữ lập trình khác

Mặc dù cú pháp có vẻ quen thuộc với các ngôn ngữ lập trình khác, nhưng các cơ chế cơ bản về cách bạn cần suy nghĩ với tư cách là nhà phát triển thường khác nhiều

JavaScript khác rất nhiều so với các ngôn ngữ như ruby, Python, Java, C++ và về cơ bản là mọi ngôn ngữ lập trình khác được sử dụng trong ngành

Điều này có nghĩa là việc chọn ngôn ngữ lập trình ngôn ngữ khác sau khi học JavaScript (nếu đó là ngôn ngữ lập trình duy nhất bạn biết) sẽ khó khăn hơn nhiều

Nó chắc chắn đáng để bạn dành thời gian học JavaScript, nhưng nó chắc chắn không phải là ngôn ngữ lập trình đầu tiên bạn học

7. JavaScript rất khó học bởi vì nó đang phát triển với tốc độ ngày càng tăng .

Bản thân ngôn ngữ đang thích ứng. Và những thứ như babel cho phép bạn viết ES6 (JavaScript thế hệ tiếp theo) và chạy nó bằng thời gian chạy JavaScript thông thường. Thậm chí còn có nội dung JavaScript thử nghiệm trong ES7 có thể hoặc không thể biến nó thành ngôn ngữ lập trình JavaScript mới.

Điều này có nghĩa là ngay cả khi học tất cả những điều được đề cập trước đây trong bài đăng này, vẫn còn nhiều điều nữa mà bạn có thể sẽ cần phải tìm hiểu.

Thật dễ dàng để mạo hiểm và cố gắng học những điều hào nhoáng mới nhất. Rốt cuộc, đó là những gì mọi người thích nói về. Nhưng trước khi bạn cố gắng tìm hiểu “công nghệ nóng hổi” mới mà bạn đã đọc trên HackerNews, hãy đảm bảo rằng bạn có được nền tảng vững chắc về ngôn ngữ JavaScript cốt lõi. Bạn phải luôn nắm vững các nguyên tắc cơ bản trước khi đưa các công nghệ mới hơn, thậm chí phát triển nhanh hơn vào hỗn hợp

Vì vậy, nếu bạn chưa quen với việc viết mã và cảm thấy choáng ngợp trước JavaScript, hãy biết rằng bạn không đơn độc.  

JavaScript khó học. Ngay cả những nhà phát triển có kinh nghiệm cũng phải đối mặt với Mệt mỏi với JavaScript .

Không hoàn toàn tệ. Những cải tiến đối với ngôn ngữ JavaScript trong ES6 là một luồng gió mới. Họ sẽ cuối cùng giúp những người mới bắt đầu bắt đầu xây dựng các chương trình JavaScript dễ dàng hơn. Thật ấn tượng khi thấy sự tiến bộ mà cộng đồng JavaScript đang tạo ra để làm cho cuộc sống của các nhà phát triển trở nên dễ dàng hơn.

JavaScript chắc chắn có một tương lai tươi sáng và đáng để học hỏi. Nhưng nó thực sự khó học. Vì vậy, nếu bạn là một lập trình viên mới bắt đầu và cảm thấy bị đe dọa bởi JavaScript, hãy biết rằng bạn không đơn độc. Tôi là một nhà phát triển web khá có kinh nghiệm và thỉnh thoảng tôi vẫn cảm thấy mệt mỏi với JavaScript

Bạn đã học được điều gì từ bài đăng này?

Tại sao học JavaScript lại khó như vậy?

JavaScript rất khó học vì nó là ngôn ngữ lập trình không đồng bộ . Nó cũng là một luồng, có nghĩa là nó sử dụng bản chất không đồng bộ của nó theo một cách hoàn toàn khác so với hầu hết các ngôn ngữ lập trình khác.

JavaScript có khó hơn Python không?

Nếu đang quyết định học ngôn ngữ lập trình nào trước tiên, bạn nên biết rằng JavaScript là ngôn ngữ khó học hơn nhiều so với Python . Cả hai ngôn ngữ đều được nhập động, ngôn ngữ lập trình cấp cao khá giống nhau.

3 tháng có đủ để học JavaScript không?

Tuy nhiên, không giống như CSS và HTML, JavaScript không phải là thứ có thể thành thạo chỉ trong hai tuần. Nhưng có thể hoàn thành chỉ trong ba tháng . Hầu hết các nhà tuyển dụng sẽ sẵn lòng thuê bạn làm nhà phát triển web của họ nếu bạn nắm vững một số kiến ​​thức cơ bản về JavaScript. Tất nhiên, việc học không bao giờ dừng lại.

JavaScript có khó hơn C++ không?

Mặc dù dễ đọc, nhưng cuối cùng C++ cũng khó học hơn JavaScript vì có nhiều khía cạnh khác của ngôn ngữ mà bạn cần nắm vững. Cú pháp cần chính xác hơn, bạn phải viết nhiều mã hơn, bạn cần hiểu các hệ thống kiểu tĩnh, thu gom rác, v.v.