首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第 1 章 准备知识
1.1 前端技术简介
1.2 HTML入门
1.2.1 准备开发工具
1.2.2 HTML中的基础标签
1.3 CSS入门
1.3.1 CSS选择器入门
1.3.2 CSS样式入门
1.4 JavaScript入门
1.4.1 我们为什么需要JavaScript
1.4.2 JavaScript语法简介
1.4.3 从JavaScript到TypeScript
1.5 渐进式开发框架Vue
1.5.1 第一个Vue应用
1.5.2 范例:一个简单的用户登录页面
1.5.3 Vue 3的新特性
1.5.4 我们为什么要使用Vue框架
第 2 章 TypeScript基础
2.1 重新认识TypeScript
2.1.1 安装TypeScript
2.1.2 TypeScript语言版本的HelloWorld程序
2.1.3 使用高级IDE工具
2.2 TypeScript中的基本类型
2.2.1 布尔、数值与字符串
2.2.2 特殊的空值类型
2.2.3 数组与元组
2.3 TypeScript中有关类型的高级内容
2.3.1 枚举类型
2.3.2 枚举的编译原理
2.3.3 any、never与object类型
2.3.4 关于类型断言
2.4 函数的声明和定义
2.4.1 函数的类型
2.4.2 可选参数、默认参数和不定个数参数
2.4.3 函数的重载
第 3 章 TypeScript中的面向对象编程
3.1 理解与应用“类”
3.1.1 类的定义与继承
3.1.2 类的访问权限控制
3.1.3 只读属性与存取器
3.1.4 关于静态属性与抽象类
3.1.5 类的实现原理
3.2 接口的应用
3.2.1 接口的定义
3.2.2 使用接口约定函数和可索引类型
3.2.3 使用接口来约束类
3.2.4 接口的继承
3.3 TypeScript中的类型推断与高级类型
3.3.1 关于类型推断
3.3.2 联合类型与交叉类型
3.3.3 TypeScript的类型区分能力
3.3.4 字面量类型与类型别名
当前位置:
首页>>
技术小册>>
TypeScript和Vue从入门到精通(一)
小册名称:TypeScript和Vue从入门到精通(一)
### 1.4.2 JavaScript语法简介 在深入探索TypeScript与Vue.js的结合使用之前,了解JavaScript(JS)的基础语法是至关重要的。JavaScript作为前端开发的核心语言,其灵活性和动态性为现代网页和应用程序的交互性提供了强大的支持。本章节将简要回顾JavaScript的基本语法结构,为后续TypeScript的学习以及Vue.js框架的应用打下坚实的基础。 #### 1.4.2.1 基本概念 ##### 1.4.2.1.1 脚本语言与解释执行 JavaScript是一种高级的、解释型的编程语言。它不需要像编译型语言(如C或Java)那样事先编译成机器码,而是直接在浏览器中通过JavaScript引擎(如V8、SpiderMonkey等)解释执行。这种即时编译和解释的特性使得JavaScript能够快速响应用户的操作,是构建动态网页和应用的重要工具。 ##### 1.4.2.1.2 ECMAScript标准 JavaScript最初由Netscape公司开发,后由ECMA(欧洲计算机制造商协会)标准化,称为ECMAScript。ECMAScript是JavaScript的核心语言规范,规定了语言的基本语法、类型、语句、关键字、保留字、操作符、对象等。随着时间的推移,ECMAScript标准不断演进,目前最新的版本是ECMAScript 202x(具体版本号视发布时间而定),引入了包括异步迭代、可选链(Optional Chaining)、空值合并操作符(Nullish Coalescing Operator)等新特性。 #### 1.4.2.2 变量与数据类型 ##### 1.4.2.2.1 变量声明 JavaScript使用`var`、`let`和`const`关键字来声明变量。`var`声明的变量会提升(hoisting)到其作用域的顶部,而`let`和`const`则具有块级作用域(block scope),且`const`声明的变量一旦赋值后不可重新赋值。 ```javascript var a = 10; // 变量提升 let b = 20; // 块级作用域 const c = 30; // 不可重新赋值 ``` ##### 1.4.2.2.2 数据类型 JavaScript是一种动态类型语言,意味着变量在声明时不需要指定类型,其类型会在赋值时自动确定。JavaScript的数据类型主要分为两大类:原始类型(Primitive Types)和对象类型(Object Types)。 - **原始类型**包括:`Undefined`、`Null`、`Boolean`、`Number`、`String`、`Symbol`(ES6新增)、`BigInt`(ES2020新增)。 - **对象类型**包括:`Object`、`Array`、`Function`等,以及通过`class`关键字定义的类(ES6引入)。 #### 1.4.2.3 运算符与表达式 JavaScript支持多种运算符,用于执行算术运算、比较、逻辑运算、位运算、赋值等。表达式是由运算符和操作数(变量、常量、字面量等)组成的,用于计算并返回一个值。 - **算术运算符**:`+`、`-`、`*`、`/`、`%`等。 - **比较运算符**:`==`、`===`(严格等于)、`!=`、`!==`(严格不等于)、`<`、`>`、`<=`、`>=`等。 - **逻辑运算符**:`&&`、`||`、`!`(逻辑非)、`??`(空值合并运算符,ES2020新增)等。 - **赋值运算符**:`=`、`+=`、`-=`、`*=`、`/=`等。 #### 1.4.2.4 控制流语句 控制流语句用于控制代码的执行顺序,包括条件语句和循环语句。 ##### 1.4.2.4.1 条件语句 - **if...else**:根据条件执行不同的代码块。 - **switch**:根据表达式的值选择多个代码块之一来执行。 ```javascript if (condition) { // 条件为真时执行的代码 } else { // 条件为假时执行的代码 } switch (expression) { case value1: // 当expression === value1时执行的代码 break; case value2: // 当expression === value2时执行的代码 break; default: // 都不匹配时执行的代码 } ``` ##### 1.4.2.4.2 循环语句 - **for**:根据条件重复执行代码块。 - **while**:当条件为真时重复执行代码块。 - **do...while**:至少执行一次代码块,然后只要条件为真就继续执行。 ```javascript for (let i = 0; i < 10; i++) { // 循环体 } while (condition) { // 循环体 } do { // 循环体 } while (condition); ``` #### 1.4.2.5 函数 函数是JavaScript中可重用的代码块,用于执行特定任务。函数可以接受参数(输入值),执行一系列语句,并可选择性地返回一个值。 - **函数声明**:使用`function`关键字定义。 - **函数表达式**:将函数赋值给变量。 - **箭头函数**(ES6引入):更简洁的语法,适用于非方法函数的场合。 ```javascript function sum(a, b) { return a + b; } const add = function(x, y) { return x + y; }; const multiply = (num1, num2) => num1 * num2; ``` #### 1.4.2.6 对象与数组 JavaScript是基于对象的编程语言,几乎所有内容都是对象。对象由属性和方法组成,属性是对象的特征(如人的名字),方法是对象的行为(如人的说话)。数组是一种特殊的对象,用于存储有序的元素集合。 - **对象字面量**:使用`{}`定义对象,包含属性和方法。 - **数组字面量**:使用`[]`定义数组,包含一系列元素。 ```javascript const person = { name: 'Alice', age: 30, greet: function() { console.log(`Hello, my name is ${this.name}.`); } }; const numbers = [1, 2, 3, 4, 5]; ``` #### 1.4.2.7 模块与包 随着JavaScript项目的规模扩大,模块化成为组织代码的关键。ES6引入了模块(Modules)系统,允许开发者将代码分割成可重用的单元,并通过`import`和`export`语句进行导入和导出。此外,Node.js和前端构建工具(如Webpack、Rollup)也支持多种模块系统(如CommonJS、AMD、UMD)和包管理工具(如npm、yarn),促进了JavaScript生态的繁荣。 #### 1.4.2.8 异步编程 JavaScript是单线程的,但它通过事件循环和回调函数实现了非阻塞的I/O操作。随着Web应用的复杂化,异步编程变得尤为重要。ES6引入了`Promise`对象,提供了一种更优雅的方式来处理异步操作。随后,`async/await`语法糖(基于Promise)进一步简化了异步代码的编写,使得异步逻辑看起来像同步代码一样。 ```javascript function fetchData() { return new Promise((resolve, reject) => { // 模拟异步操作 setTimeout(() => { resolve('Data fetched successfully!'); }, 1000); }); } async function getData() { const data = await fetchData(); console.log(data); } getData(); ``` #### 结语 以上是对JavaScript基础语法的简要回顾,涵盖了变量与数据类型、运算符与表达式、控制流语句、函数、对象与数组、模块与包以及异步编程等关键概念。这些基础知识是深入学习TypeScript和Vue.js不可或缺的基石。在接下来的章节中,我们将逐步探索TypeScript如何增强JavaScript的类型系统,以及Vue.js如何利用JavaScript的灵活性和动态性来构建高效、可维护的前端应用。
上一篇:
1.4.1 我们为什么需要JavaScript
下一篇:
1.4.3 从JavaScript到TypeScript
该分类下的相关小册推荐:
vue项目构建基础入门与实战
Vue.js从入门到精通(四)
Vue面试指南
vuejs组件实例与底层原理精讲
Vue原理与源码解析
TypeScript和Vue从入门到精通(四)
TypeScript和Vue从入门到精通(三)
Vue.js从入门到精通(一)
Vue.js从入门到精通(三)
Vue源码完全解析
Vue3技术解密
VUE组件基础与实战