跳转至

引言

分类

源码是否可以直接运行

  • 是:解释型
  • 否:编译型

声明变量时是否需要指定类型

  • 是:静态类型,编译时检查类型
  • 否:动态类型,运行时检查类型,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