当前位置: 首页 > 面试题库 >

表达式和语句有什么区别?如何把语句转换为表达式?

卫才
2023-03-14
本文向大家介绍表达式和语句有什么区别?如何把语句转换为表达式?相关面试题,主要包含被问及表达式和语句有什么区别?如何把语句转换为表达式?时的应答技巧和注意事项,需要的朋友参考一下

简单的说来,表达式(Expression)是语句(Statement)的子集,表达式一定会返回一个值,而语句不会。

比如定义变量、返回语句都属于语句,而逻辑判断、方法调用、赋值都属于表达式。

支持语句的地方都支持表达式,而只支持表达式的地方不支持语句。

表达式:

const foo = 'foo'

return foo

语句:

foo = 'foo'

foo > bar

foo()

如果你在仅支持表达式的位置写语句,则会报错,举个例子:

For循环的格式为:

for( 语句, 表达式, 表达式 ) {
语句
}

如果在仅支持表达式的位置写语句,则会报错:

for(let i = 0; let j = 0; i++) {  // Uncaught SyntaxError: Unexpected identifier
  console.log(i);
}

以及不包含大括号的箭头函数的格式为:

() => 表达式

如果写入语句就会报错:

let foo = () => return 'foo';  // Uncaught SyntaxError: Unexpected token 'return'

可以使用IIFE将语句转为表达式:

const foo = (() => {
  return 'foo';
})();

注意:单纯使用括号是没办法把语句转化为表达式的:

(let foo = 'foo')  // Uncaught SyntaxError: Unexpected identifier
 类似资料:
  • 问题内容: 我是Java的初学者,我想知道Java表达式和语句之间的区别吗? 问题答案: 这是一个例子: 是一个表达而是一个陈述。语句由表达式组成。 这不是特定于Java语言的。许多语言都使用这种语法,例如etc(not )。

  • 问题内容: 在Python中,表达式和语句之间有什么区别? 问题答案: 表达式仅包含标识符,文字和运算符,其中的运算符包括算术运算符和布尔运算符,函数调用运算符 包括预订运算符 等,并且可以简化为某种“值”,可以是任何Python对象。例子: 声明(请参阅 1,另一方面,2)是构成一行(或几行)Python代码的所有内容。注意表达式也是语句。例子:

  • 我们在前面的小节中,已经学习了变量和运算符。有了这些前置知识,我们就可以学习表达式、语句和块了。 运算符可用于构建表达式,表达式可以进行值的计算,它是语句的核心组成部分;而语句是指令式编程语言中最小的独立元素;多条语句又可以组成语句块。本小节我们将学习表达式的概念和常用分类,也将了解到什么是语句和块。 1. 表达式 1.1 概念 表达式,是由数字、运算符、数字分组符号(括号)、自由变量和约束变量等

  • rust是一个基于表达式的语言,不过它也有语句。rust只有两种语句:声明语句和表达式语句,其他的都是表达式。基于表达式是函数式语言的一个重要特征,表达式总是返回值。 声明语句 rust的声明语句可以分为两种,一种为变量声明语句,另一种为Item声明语句。 变量声明语句。主要是指let语句,如: let a = 8; let b: Vec<f64> = Vec::new(); let (a, c)

  • 本节介绍SQL表达式语言的API引用。有关其用法的完整介绍,请参阅 SQL表达式语言教程(1.x API) . 列元素和表达式 列元素基础构造函数 列元素修饰符构造函数 列元素类文档 操作员参考 比较运算符 在比较中 在值列表中 表达式中为空 不在 表达式中的元组 子查询输入 身份比较 字符串比较 管柱密封 字符串匹配 字符串更改 算术运算符 使用连词和否定词 连接运算符 操作员自定义 可选择文件

  • 尤达表达式 不要使用尤达表达式。尤达表达式是指,拿一个常量去和变量比较而不是拿变量去和常量比较。它就像是在表达 “蓝色是不是天空的颜色” 或者 “高个是不是这个男人的属性” 而不是 “天空是不是蓝的” 或者 “这个男人是不是高个子的” (译者注:名字起源于星球大战中尤达大师的讲话方式,总是用倒装的语序) 推荐: if ([myValue isEqual:@42]) { ... 不推荐: if ([