引言¶
分类¶
源码是否可以直接运行
- 是:解释型
- 否:编译型
声明变量时是否需要指定类型
- 是:静态类型,编译时检查类型
- 否:动态类型,运行时检查类型,dynamically typed
运行时是否可以改变变量类型
- 是:弱类型,比如JS
- 否:强类型
变量声明¶
-Java 属于编译型、静态类型、强类型语言
int x = 1; // 未赋值时初始值为:0
- Python 属于解释型、动态类型、强类型语言
# 不需要关键字定义
x = 1
x = None # 初始值可以赋值为:None
x = y = z = 1 # 同时给多个变量赋相同值
x,y,z = 1,2,3 # 同时给多个变量赋不同值,要一一对应,否则会报错,比如:x,y,z=1 或 x,y=1,2,3 都是不对的
x,y = y,x # 值交换
print(1 + '1') # TypeError
- JavaScript 属于解释型、动态类型、弱类型语言
/**
* 虽然不需要指定类型,但需要关键字定义
* 定义时可以不赋值,此时默认为:undefined
* ES6 有三个关键字可以用来声明变量:var, let, const
*/
var x = 1; // var是ES6前的关键字,在函数外声明的就是全局变量,函数内声明的为局部变量
let x = 1; // let是用来改善var的,作用域为{},同作用域内不允许重复声明
const PI = 3.14; // const用于声明常量,作用域也是{},声明时必须初始化,初始化后不能重新赋值
console.log(1 + '1'); // "11"
- TypeScript 属于解释型、静态类型、弱类型语言
let num1: number = 1;
let str: string = 'str';
console.log(1 + '1'); // "11"
常量¶
如果常量在声明前就已知了,通常可以用全大写来表示,如果需要计算得出,那么可以跟变量名一致
数据类型¶
在一些语言中,单个字符有一个特殊的 “character” 类型,在 C 语言和 Java 语言中被称为 char
最后更新:
2023-04-02