强类型与弱类型

440 阅读3分钟

在前端岗位,使用最多的开发语言就是Js与TS,他们的区别还是很多的,同时有对应Vue框架的两个版本,在应用中非常多。


前端中的TS和JS,分别应用的是强类型和弱类型,下面主要是对这两种类型做介绍


类型

类型是编程的基础

1、类型是指数据的分类或种类。

2、类型值是指数据在内存中表示的不同类型。

3、类型在计算机中起着重要的作用,它决定了数据的存储方式、占用的内存空间以及可以对数据执行的操作。

计算机中的类型可以分为基本类型或复合类型

基本类型

基本类型是计算机中最基本的数据类型,它们是原始的、不可再分的数据类型。

  • 整数类型(如整数、长整数、短整数等)
  • 浮点数类型(如单精度浮点数、双精度浮点数等)
  • 字符类型(如字符、Unicode字符等)
  • 布尔类型(表示真或假)
  • 指针类型(表示内存地址)

复合类型

复合类型是由基本类型或其他复合类型组合而成的数据类型。

  • 数组类型(由相同类型的元素组成的有序集合)
  • 结构体类型(由不同类型的成员组成的复合类型)
  • 枚举类型(由一组命名常量组成的类型)
  • 联合类型(可以存储不同类型值的类型)

弱类型(Js)

JavaScript是一种弱类型的编程语言,也被称为动态类型语言.

动态类型语言:在执行阶段确定所有变量的类型。

弱类型就意味着,变量的类型是在运行时根据赋值来推断的,而不是在编译时或声明时确定的

在弱类型语言中,变量可以随时改变其类型,而无需明确的类型声明或转换操作(通俗来说:同一个变量可以在不同的上下文中被赋予不同类型的值)

执行下面的代码

let age = 25; // age是一个数字类型
age = "tsjs"; // age现在是一个字符串类型
age = true; // age现在是一个布尔类型

结果:

image.png

强类型(Ts)

TypeScript是一种强类型的编程语言,也被称为静态类型语言。

静态类型语言:在编译阶段确定所有变量的类型。

一般运行Ts代码时,本人使用的TS 演练场来执行,就和在菜鸟教程执行css代码一样

TS 演练场

第一种、在变量定义的时候,指定变量的类型,将变量更改为不同的类型

执行下面代码

let userName:number= 123
userName='xxx'
console.log(userName)

结果: image.png

第二种、在变量定义的时候,不指定变量的类型,将变量更改为不同的类型

let userName= 123
userName='xxx'
console.log(userName)

结果:

image.png