当前位置: 首页 > wzjs >正文

婚礼顾问网站介绍模版大兴网站开发网站建设哪家好

婚礼顾问网站介绍模版,大兴网站开发网站建设哪家好,网站建设vip教程,网站开头flash怎么做一、知识点总结 1. ArkTS语言核心特性 定位:专为移动设备设计的高性能编程语言,继承TypeScript语法并优化运行效率,减少动态类型开销。兼容性:与JavaScript无缝互通,支持TypeScript开发者平滑过渡。 2. 基础语法要素…

一、知识点总结

1. ArkTS语言核心特性
  • 定位:专为移动设备设计的高性能编程语言,继承TypeScript语法并优化运行效率,减少动态类型开销。
  • 兼容性:与JavaScript无缝互通,支持TypeScript开发者平滑过渡。
2. 基础语法要素
  • 变量与常量
    • let声明可变变量,const声明只读常量,支持类型推断(如let hi2 = 'hello'自动推断为string)。
    • 所有字段必须在声明或构造函数中初始化,避免undefined
  • 数据类型
    • 基础类型:number(含大整数bigInt)、booleanstringvoidObject
    • 复合类型:array(如string[])、enum(枚举)、Union(联合类型,如Cat | Dog)、Aliases(类型别名)。
  • 运算符
    • 赋值运算符(=+=)、比较运算符(===>)、逻辑运算符(&&||)。
3. 语句与控制流
  • 条件语句if-elseswitch(需break终止分支)。
  • 循环语句forfor-of(遍历数组/字符串)、whiledo-while
  • 异常处理try-catch-finally,支持自定义错误类型。
4. 函数编程
  • 函数声明:需显式标注参数类型,返回类型可推断(如function add(x: string, y: string): string)。
  • 参数特性
    • 可选参数:通过?或默认值实现(如function hello(name?: string))。
    • Rest参数:...numbers: number[]接收不定长参数。
  • 函数式特性
    • 箭头函数:简洁语法(如(x: number, y: number) => x + y),隐式返回表达式。
    • 闭包:函数与声明环境组合,保留变量状态(如计数器闭包)。
  • 重载:同名函数不同参数签名,需匹配调用类型。
5. 面向对象编程
  • 类的定义
    • 字段初始化:name: string = '',构造函数需调用父类super()
    • 访问修饰符:public(公有)、private(私有)、protected(受保护,子类可访问)。
  • 继承与多态
    • 类通过extends继承父类,implements实现接口。
    • 抽象类:含abstract方法,不可实例化,子类必须实现抽象方法。
  • 接口:定义行为契约,类需实现接口所有方法。
6. 泛型编程
  • 泛型类/接口:参数化类型(如class CustomStack<Element>),确保类型安全。
  • 泛型约束:限制类型参数(如Key extends Hashable),确保具备特定方法。
  • 泛型函数:支持类型推断(如function last<T>(x: T[]): T)。
7. 空安全机制
  • 非空断言!断言变量非空(如a!.value),运行时为空抛异常。
  • 空值合并??运算符(如this.nick ?? '')。
  • 可选链?.安全访问属性(如this.spouse?.nick)。
8. 模块系统
  • 导出与导入
    • 静态导入:import { X, Y } from './module'import * as mod from './module'
    • 动态导入:import('./module').then(),按需加载。
  • HarmonyOS SDK导入
    • 方式:import UIAbility from '@ohos.app.ability.UIAbility'import { UIAbility } from '@kit.AbilityKit'

二、思维导图

在这里插入图片描述

三、模拟考试题

1. 单选题(10题×3分=30分)
  1. ArkTS的设计核心是( )
    A. 兼容Java
    B. 移动设备高性能
    C. 纯函数式编程
    D. 动态类型优先
    答案:B

  2. 以下属于ArkTS复合类型的是( )
    A. number
    B. Union
    C. boolean
    D. void
    答案:B

  3. 函数中用于接收不定长参数的是( )
    A. 可选参数
    B. Rest参数
    C. 必选参数
    D. 默认参数
    答案:B

  4. 类中只能在自身及子类访问的修饰符是( )
    A. public
    B. private
    C. protected
    D. internal
    答案:C

  5. 泛型约束使用的关键字是( )
    A. extends
    B. implements
    C. interface
    D. class
    答案:A

  6. 空值合并运算符是( )
    A. ??
    B. ?.
    C. !
    D. ||
    答案:A

    空值合并运算符(??)是用于处理可能为 null 或 undefined 的值,当左侧操作数为 null 或 undefined 时,返回右侧操作数,否则返回左侧操作数。例如,在 JavaScript 中,let result = a ?? b;,如果 a 是 null 或 undefined,result 就等于 b。其他选项,如?.是可选链操作符,用于安全地访问对象的属性,避免因对象为 null 或 undefined 而导致错误;!是逻辑非运算符;||是逻辑或运算符,虽然也能在一定程度上实现类似空值合并的功能,但它会在左侧操作数为 falsy 值(如 false、0、“”、null、undefined 等)时返回右侧操作数,而空值合并运算符只在左侧操作数为 null 或 undefined 时才返回右侧操作数。

  7. 以下关于ArkTS变量声明正确的是( )
    A. let x;
    B. const y: number = 10;
    C. var z: string = 'abc';
    D. let a: boolean;
    答案:B

    在 ArkTS(Ark TS 这里可能是鸿蒙操作系统相关的一种编程语言)中,对于变量声明:

    • 变量声明需要指定类型。选项 Alet x;没有指定类型,虽然在一些动态类型语言中这是允许的,但在有强类型要求的场景(如 ArkTS)中可能不符合要求。
    • 选项 B const y: number = 10;是正确的,它使用 const 关键字声明了一个常量 y,类型是 number,并且正确地初始化了它的值为 10。
    • 选项 C var z: string = ‘abc’;虽然指定了类型,但在ArkTS中通常更倾向于使用 let 或 const 而不是 var 来声明变量,因为 var 有更复杂的作用域规则(函数作用域)。
    • 选项 D let a: boolean;只是声明了一个变量 a,类型是 boolean,但没有进行初始化,在需要变量有初始值的场景下这可能不符合要求。而选项 B 既正确声明了变量类型,又进行了正确的初始化。
  8. 箭头函数的正确写法是( )
    A. function(x: number) => x+1
    B. (x: number): number = x+1
    C. (x: number) => { return x+1; }
    D. x => return x+1
    答案:C

  • 选项 A. function(x: number) => x+1
    解析:错误。这个写法混合了传统的函数声明语法(function 关键字)和箭头函数的语法(=>),这是不正确的。箭头函数不需要 function 关键字。
  • 选项 B. (x: number): number = x+1
    解析:错误。这个写法缺少箭头函数的关键部分,即箭头(=>)。正确的箭头函数需要使用 => 来分隔参数和函数体。
  • 选项 C. (x: number) => { return x+1; }
    解析:正确。这是一个标准的箭头函数写法。它包含参数列表 (x: number)、箭头 => 以及用大括号包裹的函数体 { return x+1; }。这种写法清晰且符合箭头函数的语法规范。
  • 选项 D. x => return x+1
    解析:错误。虽然这个写法看起来简洁,但多了一个 return 关键字。在箭头函数中,如果函数体是一个简单的表达式,可以直接写成 x => x+1,而不需要显式使用 return。如果使用大括号包裹函数体,则需要 return,如选项 C 所示。
  1. 抽象类的特点是( )
    A. 可直接实例化
    B. 包含抽象方法
    C. 不能被继承
    D. 无构造函数
    答案:B

  2. 动态导入模块的返回值类型是( )
    A. Promise
    B. Module
    C. Object
    D. void
    答案:A

2. 判断题(10题×1分=10分)
  1. ArkTS变量必须显式声明类型。( )
    答案:×(可类型推断)

  2. const声明的常量可在运行时修改。( )
    答案:×(只读)

  3. 接口可以包含方法实现。( )
    答案:×(仅声明)

  4. 泛型函数必须显式指定类型实参。( )
    答案:×(可推断)

  5. ?.是可选链运算符,用于安全访问属性。( )
    答案:√

  6. 抽象类的子类必须实现所有抽象方法。( )
    答案:√

  7. ArkTS不支持闭包特性。( )
    答案:×(支持)

  8. 模块中未导出的声明不可被外部访问。( )
    答案:√

  9. void类型函数必须返回null。( )
    答案:×(无返回值)

  10. 类的静态方法中可以使用this关键字。( )
    答案:×(仅限实例方法)

3. 简答题(4题×5分=20分)
  1. 简述ArkTS与TypeScript的主要区别。
    参考答案

    • ArkTS专为移动设备设计,优化运行效率,对TypeScript动态类型施加严格限制;
    • 支持与JavaScript无缝互通,TypeScript开发者可平滑过渡;
    • 所有字段必须初始化,空安全规则更严格。
  2. 说明@State装饰器的作用(结合文档内容)。
    参考答案

    • @State用于声明状态变量,其值变化时触发UI自动刷新;
    • 在ArkUI中,状态变量通过build()函数声明式驱动UI更新,是声明式UI的核心机制。
  3. 接口与抽象类的主要区别是什么?
    参考答案

    • 接口仅声明行为契约,无方法实现;抽象类可包含具体方法和抽象方法;
    • 类只能继承一个抽象类,但可实现多个接口;
    • 抽象类可包含构造函数,接口不可。
  4. 简述ArkTS空安全机制的三种核心操作。
    参考答案

    • 非空断言(!):强制转换可空类型为非空,运行时若为空抛异常;
    • 空值合并(??):左侧为null/undefined时取右侧值;
    • 可选链(?.):安全访问嵌套属性,避免空指针异常。

在编程语言中,尤其是支持空安全(null safety)机制的语言(如ArkTS),提供了一些操作符来安全地处理可能为nullundefined的值,以下是对ArkTS中三种核心空安全操作的更详细解析:

  1. 非空断言(!)
  • 用途:用于强制将一个可空类型(nullable type)转换为非空类型(non-nullable type)。这通常用于开发者确定某个值在运行时不会为nullundefined的场景。
  • 示例let x: string | null = null; let y: string = x!;(这里假设开发者确信x在运行时不会为null
  • 风险:如果被断言的值实际上为nullundefined,程序在运行时会抛出异常。因此,非空断言应谨慎使用,仅在开发者有充分理由确信值非空时使用。
  1. 空值合并(??)
  • 用途:提供了一种简便的方式为可能为nullundefined的值指定一个默认值。如果左侧操作数不为nullundefined,则结果为左侧值;否则,结果为右侧值。
  • 示例let result = x ?? 'default';(如果xnullundefinedresult将取值为'default'
  • 优势:可以避免冗长的条件判断,使代码更简洁易读,同时有效处理空值场景。
  1. 可选链(?.)
  • 用途:用于安全地访问对象的嵌套属性或调用方法,防止因链中的某个对象为nullundefined而导致的空指针异常。
  • 示例let value = obj?.prop?.subProp;(如果objobj.propnullundefined,整个表达式的结果将是undefined,而不会抛出异常)
  • 优势:简化了嵌套属性的访问逻辑,避免了多层if判断,使代码更简洁且更易维护。
4. 程序填空题(2题×10分=20分)

题目1:补全泛型函数,返回数组最后一个元素。

function last<T>(arr: T[]): T {return arr[______]; // 补全索引
}

答案arr.length - 1

题目2:补全类的构造函数,初始化nameage字段。

class Person {name: string = '';age: number = 0;constructor(n: string, a: number) {this.name = n;______; // 补全age初始化}
}

答案this.age = a

5. 编程题(2题×10分=20分)

题目1:编写一个箭头函数,接收两个数字参数,返回它们的和,并推断返回类型。
参考代码

let sum = (x: number, y: number) => x + y; // 隐式返回,类型推断为number

题目2:创建一个泛型类Stack,实现压栈和弹栈功能。
参考代码

class Stack<T> {private items: T[] = [];push(item: T): void {this.items.push(item);}pop(): T | undefined {return this.items.pop();}
}
// 使用示例
let stringStack = new Stack<string>();
stringStack.push('Hello');

评分要点:泛型类定义(<T>)、类型安全操作、方法实现。

http://www.dtcms.com/wzjs/568441.html

相关文章:

  • swiper做的全屏网站wordpress如何卸载插件
  • 在线捕鱼网站建设云南省工程建设交易系统网站
  • 2008 iis asp配置网站装修全包
  • 做网站建设有前途那wordpress轮播插件
  • 网站开发用什么书mvc架构购物网站开发
  • wap手机网站分享代码网站建设的发展趋势
  • 广州腾虎网络网站建设熊掌号张家口网站开发
  • wordpress 商品导航菜单龙岗网站优化
  • 河南天元建设公司网站网站开发需要那些技术人员
  • 网站建设调查回访表wordpress添加新的小工具
  • 网页和网站的关系深圳 网站设计师 招聘
  • 成都地区网站开发成本广安哪里做网站
  • 成交型网站建设方案一键logo设计生成器
  • 山东网站定制设计公司网站开发图片
  • 如何做百万格子网站网络营销专业就业公司
  • 合肥市建设工程市场价格信息网站用python做的电商网站
  • 文化集团网站模板可画设计软件下载
  • 虚拟体验网站网站正在建设中色综合
  • 云南省建设监理协会网站网站如何备份
  • 深圳市建设局网站首页工信部网站手机备案查询
  • 河北省建设环境备案网站网站建设要考虑哪些方面
  • 垡头街道网站建设兰州市住房建设局网站
  • 网站的标签修改龙江做网站
  • 1997年做网站是什么语言cc域名做门户网站
  • 网站建设的目的与意义是什么超市小程序怎么做
  • 上海网站开发公司哪家好中山推广网站
  • 网页设计网站长沙怎么在ps里做网站设计
  • 宁晋网站建设公司页面设计层级一般控制()层
  • 加密网站如何做企业招聘网站
  • 吉安网站揭阳市建设局网站