
عنوان:
Eloquent JavaScript, 4th Edition
نویسنده:
Marijn Haverbeke
انتشارات:
No Starch Press
تاریخ انتشار:
2024
حجم:
3.97MB
معرفی کتاب:"جاوااسکریپت به زبان ساده و شیوا — نسخه چهارم "
شروعی زیبا برای ساخت اپلیکیشنهای تحت وب با جاوااسکریپت
معرفی کتاب Eloquent JavaScript (ویرایش چهارم)
اگر به دنبال یادگیری اصولی، جذاب و بهروز جاوااسکریپت هستید، کتاب Eloquent JavaScript در ویرایش چهارم خود دقیقاً همان چیزیست که نیاز دارید. این کتاب پرفروش با تمرینها و پروژههایی متناسب با تکنولوژیهای مدرن، مسیر یادگیری شما را هموار و دلنشین میکند.
جاوااسکریپت زبانی همهمنظوره است که امکان افزودن منطق و تعامل به صفحات وب را فراهم میکند. با اجرای مستقیم در مرورگر و پشتیبانی گسترده در سرورها، موبایلها و حتی اینترنت اشیا، این زبان ستون فقرات توسعه وب مدرن محسوب میشود.
ویژگیهای نسخه جدید:
- مطابق با استاندارد ECMAScript 2024
- تمرکز بر شیوههای نوین توسعه نرمافزار
- تمرینهای جدید در پایان اکثر فصلها برای تثبیت مفاهیم
- پروژههای واقعی، قابل توسعه و خلاقانه
ساختار کتاب:
نیمه اول: مبانی جاوااسکریپت — متغیرها، توابع، شرطها، حلقهها، و ساختارهای داده
نیمه دوم: کاربرد عملی جاوااسکریپت در مرورگر و Node.js
پروژههایی که در کتاب خواهید ساخت:
- ربات مسیریاب با الگوریتمهای هوشمند
- ساخت یک زبان برنامهنویسی ساده
- بازی پلتفرمر با تعامل کامل کاربر
- نقاشی پیکسلی با کنترل موس و صفحهکلید
- ساخت یک وبسایت پویا و تعاملی
برای چه کسانی مناسب است؟
برای هر کسی که بهتازگی وارد دنیای برنامهنویسی وب شده یا توسعهدهندگانی که میخواهند درک عمیقتری از جاوااسکریپت داشته باشند. حتی اگر تجربهای محدود در کدنویسی دارید، لحن روان و پروژهمحور کتاب شما را گامبهگام جلو میبرد.
با Eloquent JavaScript برنامهنویسی را نهتنها یاد میگیرید، بلکه از آن لذت میبرید.
فهرست مطالب
- Cover Page
- Title Page
- Copyright Page
- Dedication Page
- About the Author
- About the Technical Reviewer
- BRIEF CONTENTS
- CONTENTS IN DETAIL
- INTRODUCTION
- On Programming
- Why Language Matters
- What Is JavaScript?
- Code, and What to Do with It
- Overview of This Book
- Typographic Conventions
- PART I: LANGUAGE
- 1. VALUES, TYPES, AND OPERATORS
- Values
- Numbers
- Arithmetic
- Special Numbers
- Strings
- Unary Operators
- Boolean Values
- Comparison
- Logical Operators
- Empty Values
- Automatic Type Conversion
- Short-Circuiting of Logical Operators
- Summary
- 2. PROGRAM STRUCTURE
- Expressions and Statements
- Bindings
- Binding Names
- The Environment
- Functions
- The console.log Function
- Return Values
- Control Flow
- Conditional Execution
- while and do Loops
- Indenting Code
- for Loops
- Breaking Out of a Loop
- Updating Bindings Succinctly
- Dispatching on a Value with switch
- Capitalization
- Comments
- Summary
- Exercises
- Looping a Triangle
- FizzBuzz
- Chessboard
- 3. FUNCTIONS
- Defining a Function
- Bindings and Scopes
- Nested Scope
- Functions as Values
- Declaration Notation
- Arrow Functions
- The Call Stack
- Optional Arguments
- Closure
- Recursion
- Growing Functions
- Functions and Side Effects
- Summary
- Exercises
- Minimum
- Recursion
- Bean Counting
- 4. DATA STRUCTURES: OBJECTS AND ARRAYS
- The Weresquirrel
- Datasets
- Properties
- Methods
- Objects
- Mutability
- The Lycanthrope’s Log
- Computing Correlation
- Array Loops
- The Final Analysis
- Further Arrayology
- Strings and Their Properties
- Rest Parameters
- The Math Object
- Destructuring
- Optional Property Access
- JSON
- Summary
- Exercises
- The Sum of a Range
- Reversing an Array
- A List
- Deep Comparison
- 5. HIGHER-ORDER FUNCTIONS
- Abstraction
- Abstracting Repetition
- Higher-Order Functions
- Script Dataset
- Filtering Arrays
- Transforming with map
- Summarizing with reduce
- Composability
- Strings and Character Codes
- Recognizing Text
- Summary
- Exercises
- Flattening
- Your Own Loop
- Everything
- Dominant Writing Direction
- 6. THE SECRET LIFE OF OBJECTS
- Abstract Data Types
- Methods
- Prototypes
- Classes
- Private Properties
- Overriding Derived Properties
- Maps
- Polymorphism
- Getters, Setters, and Statics
- Symbols
- The Iterator Interface
- Inheritance
- The instanceof Operator
- Summary
- Exercises
- A Vector Type
- Groups
- Iterable Groups
- 7. PROJECT: A ROBOT
- Meadowfield
- The Task
- Persistent Data
- Simulation
- The Mail Truck’s Route
- Pathfinding
- Exercises
- Measuring a Robot
- Robot Efficiency
- Persistent Group
- 8. BUGS AND ERRORS
- Language
- Strict Mode
- Types
- Testing
- Debugging
- Error Propagation
- Exceptions
- Cleaning Up After Exceptions
- Selective Catching
- Assertions
- Summary
- Exercises
- Retry
- The Locked Box
- 9. REGULAR EXPRESSIONS
- Creating a Regular Expression
- Testing for Matches
- Sets of Characters
- International Characters
- Repeating Parts of a Pattern
- Grouping Subexpressions
- Matches and Groups
- The Date Class
- Boundaries and Look-Ahead
- Choice Patterns
- The Mechanics of Matching
- Backtracking
- The replace Method
- Greed
- Dynamically Creating RegExp Objects
- The search Method
- The lastIndex Property
- Parsing an INI File
- Code Units and Characters
- Summary
- Exercises
- Regexp Golf
- Quoting Style
- Numbers Again
- 10. MODULES
- Modular Programs
- ES Modules
- Packages
- CommonJS Modules
- Building and Bundling
- Module Design
- Summary
- Exercises
- A Modular Robot
- Roads Module
- Circular Dependencies
- 11. ASYNCHRONOUS PROGRAMMING
- Asynchronicity
- Callbacks
- Promises
- Failure
- Carla
- Breaking In
- async Functions
- Generators
- A Corvid Art Project
- The Event Loop
- Asynchronous Bugs
- Summary
- Exercises
- Quiet Times
- Real Promises
- Building Promise.all
- 12. PROJECT: A PROGRAMMING LANGUAGE
- Parsing
- The Evaluator
- Special Forms
- The Environment
- Functions
- Compilation
- Cheating
- Exercises
- Arrays
- Closure
- Comments
- Fixing Scope
- PART II: BROWSER
- 13. JAVASCRIPT AND THE BROWSER
- Networks and the Internet
- The Web
- HTML
- HTML and JavaScript
- In the Sandbox
- Compatibility and the Browser Wars
- 14. THE DOCUMENT OBJECT MODEL
- Document Structure
- Trees
- The Standard
- Moving Through the Tree
- Finding Elements
- Changing the Document
- Creating Nodes
- Attributes
- Layout
- Styling
- Cascading Styles
- Query Selectors
- Positioning and Animating
- Summary
- Exercises
- Build a Table
- Elements by Tag Name
- The Cat’s Hat
- 15. HANDLING EVENTS
- Event Handlers
- Events and DOM Nodes
- Event Objects
- Propagation
- Default Actions
- Key Events
- Pointer Events
- Mouse Clicks
- Mouse Motion
- Touch Events
- Scroll Events
- Focus Events
- Load Event
- Events and the Event Loop
- Timers
- Debouncing
- Summary
- Exercises
- Balloon
- Mouse Trail
- Tabs
- 16. PROJECT: A PLATFORM GAME
- The Game
- The Technology
- Levels
- Reading a Level
- Actors
- Drawing
- Motion and Collision
- Actor Updates
- Tracking Keys
- Running the Game
- Exercises
- Game Over
- Pausing the Game
- A Monster
- 17. DRAWING ON CANVAS
- SVG
- The canvas Element
- Lines and Surfaces
- Paths
- Curves
- Drawing a Pie Chart
- Text
- Images
- Transformation
- Storing and Clearing Transformations
- Back to the Game
- Choosing a Graphics Interface
- Summary
- Exercises
- Shapes
- The Pie Chart
- A Bouncing Ball
- Precomputed Mirroring
- 18. HTTP AND FORMS
- The Protocol
- Browsers and HTTP
- Fetch
- HTTP Sandboxing
- Appreciating HTTP
- Security and HTTPS
- Form Fields
- Focus
- Disabled Fields
- The Form as a Whole
- Text Fields
- Checkboxes and Radio Buttons
- Select Fields
- File Fields
- Storing Data Client-Side
- Summary
- Exercises
- Content Negotiation
- A JavaScript Workbench
- Conway’s Game of Life
- 19. PROJECT: A PIXEL ART EDITOR
- Components
- The State
- DOM Building
- The Canvas
- The Application
- Drawing Tools
- Saving and Loading
- Undo History
- Let’s Draw
- Why Is This So Hard?
- Exercises
- Keyboard Bindings
- Efficient Drawing
- Circles
- Proper Lines
- PART III: NODE
- 20. NODE.JS
- Background
- The node Command
- Modules
- Installing with NPM
- Package Files
- Versions
- The Filesystem Module
- The HTTP Module
- Streams
- A File Server
- Summary
- Exercises
- Search Tool
- Directory Creation
- A Public Space on the Web
- 21. PROJECT: SKILL-SHARING WEBSITE
- Design
- Long Polling
- HTTP Interface
- The Server
- Routing
- Serving Files
- Talks as Resources
- Long Polling Support
- The Client
- HTML
- Actions
- Rendering Components
- Polling
- The Application
- Exercises
- Disk Persistence
- Comment Field Resets
- 22. JAVASCRIPT AND PERFORMANCE
- Staged Compilation
- Graph Layout
- Defining a Graph
- Force-Directed Layout
- Avoiding Work
- Profiling
- Function Inlining
- Dynamic Types
- Summary
- Exercises
- Prime Numbers
- Faster Prime Numbers
- APPENDIX: EXERCISE HINTS
- Chapter 2: Program Structure
- Looping a Triangle
- FizzBuzz
- Chessboard
- Chapter 3: Functions
- Minimum
- Recursion
- Bean Counting
- Chapter 4: Data Structures: Objects and Arrays
- The Sum of a Range
- Reversing an Array
- A List
- Deep Comparison
- Chapter 5: Higher-Order Functions
- Everything
- Dominant Writing Direction
- Chapter 6: The Secret Life of Objects
- A Vector Type
- Groups
- Iterable Groups
- Chapter 7: Project: A Robot
- Measuring a Robot
- Robot Efficiency
- Persistent Group
- Chapter 8: Bugs and Errors
- Retry
- The Locked Box
- Chapter 9: Regular Expressions
- Quoting Style
- Numbers Again
- Chapter 10: Modules
- A Modular Robot
- Roads Module
- Circular Dependencies
- Chapter 11: Asynchronous Programming
- Quiet Times
- Real Promises
- Building Promise.all
- Chapter 12: Project: A Programming Language
- Arrays
- Closure
- Comments
- Fixing Scope
- Chapter 14: The Document Object Model
- Build a Table
- Elements by Tag Name
- The Cat’s Hat
- Chapter 15: Handling Events
- Balloon
- Mouse Trail
- Tabs
- Chapter 16: Project: A Platform Game
- Pausing the Game
- A Monster
- Chapter 17: Drawing on Canvas
- Shapes
- The Pie Chart
- A Bouncing Ball
- Precomputed Mirroring
- Chapter 18: HTTP and Forms
- Content Negotiation
- A JavaScript Workbench
- Conway’s Game of Life
- Chapter 19: Project: A Pixel Art Editor
- Keyboard Bindings
- Efficient Drawing
- Circles
- Proper Lines
- Chapter 20: Node.js
- Search Tool
- Directory Creation
- A Public Space on the Web
- Chapter 21: Project: Skill-Sharing Website
- Disk Persistence
- Comment Field Resets
- Chapter 22: JavaScript and Performance
- Prime Numbers
- Faster Prime Numbers
- INDEX
مشخصات
نام کتاب
Eloquent JavaScript, 4th Edition
نویسنده
Marijn Haverbeke
انتشارات
No Starch Press
تاریخ انتشار
2024
ISBN
9781718504103
چاپ
اول
تعداد صفحات
574
زبان
انگلیسی
فرمت
حجم
3.97MB
موضوع
programming > java-script